Make AffineTransformation2D fittable

#2269 (yet to be merged) introduced a new `AffineTransformation2D` model.  It was suggested in that PR that it would be good to make instances of this class fittable.  Unfortunately this would *currently* require making it a type of `ParametricModel`, which is currently broken for models that require multi-dimensional parameter values (such as the transformation matrix used by `AffineTransformation2D`).

Implementing this requires some combination of #2149 and/or #2276 to be merged first. So I decided to create a separate issue for this so that it isn't forgotten.