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

I think you are right. The 'mask_to_mirrored_num' function is one specific solution for a quite general problem (another solution would be e.g. the `NaN` interpolation of `astropy.convolution`). The 'mask_to_mirrored_num' is only used in the context of the psf photometry code, to stabilize the estimation of PSFs/PRFs, when `NaN` values are present in the data. For this reason it should be possibly kept in `photutils` and not got into the astropy core.