WIP: API spec for imageutils

If you look at the `imageutils` API discussions in #1, #13 and several other issues it's clear that we need an API spec for `imageutils`.

This is a first attempt for a proposal, to have a concrete basis for discussion. Nothing is set in stone and this is currently not very good... please comment and if you think something should be changed, please say how you'd like it to work in a comment (or better yet, make a pull request against this one containing the change).

We can turn this RST page into an APE later if having an APE is considered useful (or even necessary) to get `imageutils` accepted into the Astropy core as `astropy.image`.

One point I'd like to stress is that we will not stall `imageutils` development waiting for this discussion to be resolved! If you have useful image utils functions we will merge them now and if needed refactor them later to match the outcome of this API discussion.

@ejeschke Could you have a look at this proposal 1 and see if the `downsample` and `downsample_nddata` two-level approach is what you had in mind?
If you have some time to write an example of how you'd apply the factory pattern here, I'd find that helpful.