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

This brings back the issue of how to manage "optional" requirements...  I don't think there's anything like this currently in Astropy that merely warns when something can't be imported (and wouldn't this message be annoying if it comes up in cases where nobody was trying to import `ImageNormalize`?  In any case, if there is a warning here at all it should be an `AstropyWarning`, but I think this should be removed entirely.