WIP: merge imageutils into astropy core

This is a WIP, but is the PR to merge ``imageutils`` into the Astropy core package.

Notes:

* I have attempted to preserve the history but removed code that simply affected affiliated package infrastructure code.
* The branches and merge history *within* imageutils is lost since I rebased this, but I think this is actually less confusing this way. We just have a linear history for the package.
* I also updated issue numbers in the commit messages to always include ``astropy/imageutils``
* This does not include lacosmicx which can be added separately once the licensing is sorted out. Doing that separately will make reviewing this PR easier anyway
* It is marked as critical because this was assessed as 1.0-critical (not a critical bug though)

This is not ready for review or merging, and still needs updates to the docs, tests to pass, etc.

cc @larrybradley @cdeil @adonath @eteq @hamogu @ejeschke

Again, is a separate cython routine really needed? It is also ttrivially done using numpy broadcasting (though admittedly not as fast as downsampling)
```
In [29]: %timeit (image.reshape(1000,1,1000,1) * np.ones((1, 2, 1, 2))).reshape(2000, 2000)
10 loops, best of 3: 17.9 ms per loop
```
But with a bit of trickery it can be done faster:
```
In [37]: %timeit np.broadcast_arrays(image.reshape(1000,1,1000,1), np.ones((1, 2, 1, 2)))[0].reshape(2000, 2000)
100 loops, best of 3: 8.18 ms per loop
```