Meredith Rawls: can you please review this medium sized change (~100 lines), involving a little C++? One of the commits is just cleaning up and expanding on some unrelated docstrings, so you might want to review the commits separately.
In particular, I have questions about the correct minimum value of ndof (number of degrees of freedom) for photometry vs. astrometry: I'm positive it's 1 for the former, since I have an explicitly computed model with exactly 1 dof, but it might be 2 for the latter since it's fitting x,y, but I'm not sure how to think about this properly. I'm also not positive how to word the resulting error message if the checkfails. The docstring for the new validate() methods refer to FitterBase.computeChi2:
Looking at it, I should probably also improve its documentation to clarify that it returns the "reduced" degrees of freedom (data - parameters): sadly, I don't know what the correct terminology for this is.