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.
Using a [pytest fixture](http://pytest.org/latest/fixture.html) would be best.

But it's non-trivial to understand how pytest fixtures work, so doing it as a class with a setup function is OK.
You just have to follow the pytest naming convention and it will run, see  [here](http://astropy.readthedocs.org/en/latest/development/testguide.html#class-level-setup-teardown) and [here](http://astropy.readthedocs.org/en/latest/development/testguide.html#method-level-setup-teardown).