remove model reference in fitters

These are initial changes for #1330. It's incomplete but tests pass locally and I am pushing this to give an idea where this is going.
So far the model reference was removed in all fitters except `JointFitter`.
Also I need to remove `fitter.weights` attribute and make fitter return a copy of the model.

I found subtle changes in behaviour since #1086. Constructing `model.param_sets` in some corner cases, e.g. one parameter is an array, the other is a scalar, does not work. I think this can be fixed in 0.3.1.