Merge imageutils functionality 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

I'd prefer to not use `import *` in tests even if it means boilerplate code like listing names.

Python static analysis tools like the ones built-in into good editors like `pycharm` or `pydev` or command-line ones like `pylint` often give up when they encounter `import *` and thus tab completion and static code checks don't work.