Initial implementation of descriptions for parameters, which also override their doc strings--in the long term this will be nice for both interactive help and generated API docs.
Removed 2 duplicate access URLs in default cone search validation list. This has no impact on how the code works.
Revert (mostly) back to the old behavior in handling parameter values
and multiple param_dims.  Now, for ParametricModels, if param_dim is not
specified in the model's constructor (which will be the common case) the
param_dim is automatically determined from the size of the input
parameter values (which must all match).  The one exception is that if
param_dim > 1 and one of the parameters is passed in as a scalar, that
scalar value is automatically repeated accross all param sets.  The
shape of each parameter value is largely irrelevant so long as it has
the same number of elements as the model's param_dim.  However one
difference retained from #1086 is that the shape of the input parameters
is preserved when the user asks for a parameter's values.  For example:

    >>> m = Const1DModel([[1, 2,], [3, 4]])
    >>> m.param_dim
    1
    >>> m.amplitude.value
    array([[ 1., 2.],
           [ 3., 4.]])

Otherwise the shape of the parameter has no effect on evaluating or
fitting the model.

This fix isn't quite complete yet, as there is one test,
test_object_pars, which currently fails.  The behavior it tests for
seems to contradict the desired behavior that @nden has suggested,
and yet clearly this test worked in older versions of the code...
update Sgr coordinate example
This fixes the TestParModel case with param_dim=2 and multi-dimensional parameter values.  I think this case is a bit odd since it's not possible with the Parametric1D and Parametric2D subclasses.  But at least it works--this has effectively the same behavior as pre-#1086 with respect to param sets
Fully fixed support for replicating scalar values across param sets; added a test for this (really updated an existing test to reflect the new behavior).
Merge pull request #1724 from adrn/coordinates/sgr-example

Update Sgr coordinate example for 0.3 coordinates changes
Merge pull request #1682 from embray/parameter-docs

Add ability to provide descriptions for model parameters
initial changes for #1330
fitters now return a copy of the model
change documentation examples appropriately
make fitter.weights a property
address comments and fix some additional bugs
Slight tweak to how bounds are being passed in to SLSQPFitter, only because for some reason I was getting exceptions like 'TypeError: ufunc 'isinf' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''' which had to do with the fact that bounds was an object array.  Might be related to my Numpy and/or Scipy version.  In any case I think this is a bit simpler since it's taking advantage of the fit parameter indices returned by _model_to_fit_params to select out which bounds to pass in.  Also changed EPS and MAXITER to DEFAULT_* since they can be overridden by __call__ arguments.
Commented out this dead code for now--we'll revisit this obviously
Kept _model_to_fit_params as a ParametricModel method--I'm still not crazy about having it there since the way it adapts the model's parameters for fitting is still more a detail of the fitter implementation.  I kept the reverse operation on fitters so at least there's some two-way adaptation symmetry going on.  Moved _deriv_with_constraints back into LinearLSQFitter since, like with _wrap_deriv, it's very specifically a fitter-specific adaptation of models' derivative functions to the format used by the fitter.
Merge pull request #1680 from embray/issue-1680

fix modeling for multi param sets
Correct Trapezoid1DModel.eval (fix issue #1721)
Add test for Trapezoid1D model
Merge pull request #1726 from cdeil/issue_1721

Correct Trapezoid1DModel.eval (fix issue #1721)