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.
Same here ... make this a Python property called `background_image_hdu`