Iterative kernel background estimator

Made a new PR as couldn't push to the old one: #173

Still in progress. To do:
 - [x] Add unit tests
 - [x] Finish tutorial
 - [x] Include initial image and mask image additionally in the tutorial
 - [x] Clean up code formatting
 - [x] Add docstrings
(Anything else?)

Please comment if you see anything to be done or changed.
Instead of checking only the sum, check that the arrays are actually the same:
```
np.alltrue(old_mask == new_mask)
```