Serialize fit results

This isn't ready to be fully pulled in yet, but it at least partially implements what we were talking about for serialisation: two basic classes that allow you to store the necessary information for fitting results.
So I wonder if it's better if this constructor takes `parameters` as an argument and sets it on self:

```
def __init__(self, image, parameters, gt_shape=None):
    self.image = image
    self._gt_shape = gt_shape
    self.parameters = parameters
```
then it's clear that subclasses have to provide the parametrization on initialization. Or is this a problem with `MultilevelFittingResult` not having a direct parametrization?