Generate the docstrings in _wcs.so using character arrays rather than
string literals.  This is (reportedly) more portable and avoid the
copying nonsense we did before.
Changing FITS table write function to have default value of Nan for float type cols
Changing default value for float columns from 1e20 to Nan in fits table write function
Changing the float comparison for filled value to np.allclose to enable Nan masking for float32 as well. Also added test cases for float64, and float32
Removing unnecessary comment
Change initialization of NDData arithmetic result to include keywords in constructor
Initialize result with keywords in constructor call
Add note to docstring indicating that flags are set to None

This is not a change in behavior in convert_unit_to, just indicating in the doctoring what is being done.
Add CHANGES.rst entry

Closes #2300
Use `\overset{\circ}A` for Angstrom LaTeX.
FITS_rec objects can be pickled with this patch
Small modifications to FITS_rec pickling, and tests added
Changing tests and adding changelog entry
As pointed out by @nden here
<https://github.com/astropy/astropy/pull/2149/files#r10402422> that
different classes of models had different mechanisms for storing their
parameter values, creating a fair amount of unncessary complexity.

This change attempts to smooth out some of the differences by merging
the old ParametricModel class into the base Model class, so that all
models more or less operate on the same basis.  An added advantage to
this is that it adds full support for parameter constraints on *all*
models, which can be useful even outside the context of fitting.

This standardizes on the way ParametricModel stored parameters, where
all the parameter values are stored in a single flat array along with a
simple _param_metrics data structure providing information how to
extract individual parameter values from that array.  As @nden points
out this may not be the *best* way.  In fact, it might be difficult to
really make this work with parameters as Quantities.  But this was the
path of least resistance for the first iteration.

For now I've kept around a class named ParametricModel and its
subclasses ParametricModel1D and ParametricModel2D and the subclasses
thereof--the only thing that really distinguishes them at the moment is
the fact that they have the `fittable=True` flag.

This does *not* fully resolve the issue addressed in #2149, but it will
make the implementation for #2149 simpler.  This also adds a few
inefficiences, particularly in any models that have angular parameter
values that need to be converted to radians for compuations.  I have a
separate branch running parallel to this one that will attempt to
address that issue.
Somewhat clarified how constraints are stored on a model, and how their
initial values are set:

* Constraints are treated in two separate categories: 'parameter
  constraints' which are constraints on specific parameters, and
  'model constraints' which are general constraints on the model
  (specifically the 'eqcons' and 'ineqcons' constraints).
* All constraints are stored in the ._constraints dict.
* Setting of initial values of constraints is simplified so that only
  Model._initialize_constraints is responsible for this (though it still
  queries the individual parameters for any default constraints they may
  have).
Docstring tweaks as suggested by @cdeil
Rename Parametric.*Model to Fittable.*Model--a name whicih at this point better describes the small distinction it has over other Model types. All models (or almost all anyway) have one or more adjustable parameters of some sort or another"
Get rid of this set_joint_parameters that doesn't do much interesting and isn't even necessary for the current JointFitter implementation.  One can see how it might be useful to store somewhere on the model a reference to what other model(s) its params have been fitted against.  But for the time being if a user is setting up a JointFitter they already have that information.  Could still be worth revisiting though.
Include an example of how to skip all doctests in a module
Add subok and other np.array parameters