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...
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 #1680 from embray/issue-1680

fix modeling for multi param sets