Fitter Framework Fixes

This PR contains ongoing work related to #297 and it is not ready ready to be merge.

To do list:

1. `Fitter and MultilevelFitter`
- [ ] Define `__str__` method.
- [ ] Rename `fit` method to `fit_image`.

    Problematic! Because `MultilevelFitter` is a subclass of `Fitter` that would also mean that all `Fitters` have their `fit` method renamed to `fit_image`. I'm not sure that's something we want...
- [ ] Define `from_boundingbox` and `from_shape` initializations.

2. `FittingResult`
- [ ] Fix bugs in `plot_error` method.
- [ ] Define `__str__` method. 
- [ ] Remove `print_fitting_info` method. 
- [ ] Fix view() method.
- [ ] Remove `fitted` flag.
- [ ] Remove `n_fittings`.
- [ ] Add view `_fitting_on_image()` method.