Have Parametric?DModel use Parameter attributes

I noticed some non-intuitive behavior while trying to use `Parametric1DModel` or `Parametric2DModel`, illustrated below:
```
class MyModel(Parametric1DModel):
    a = Parameter(default=1)
    b = Parameter(default=0, min=0, fixed=True)

    @staticmethod
    def eval(x, a, b):
        return x*a + b

>>> m = MyModel()
>>> m.a
Parameter('a', value=1.0)
>>> m.b
Parameter('b', value=0.0)
>>> print m.b.fixed
False
>>> print m.b.min
None
```

The surprise here is the last two lines. The definition of the parameter in the class passes on the default value to an instance of the model, but it does *not* pass on that it's fixed or min/max.  That seems counter-intuitive - is there a reason it has to be so?

cc @embray @nden