Image from catalog

Incomplete, work in progress - I made a pull request to allow discussion about the structure & implementation.

Note that some functions also use stuff used in npred_cube2 pull request (which is why I rebased against it in this PR).

To do (Ellis):
- Check output looks sensible
- Write unit tests
- Add doc strings
- Add short tutorial (?)

Anything else missing?
You should pass in the reference image instead of passing all the parameters needed to construct it.

I'm never sure what's best, to pass an `ImageHDU` or a `Header` or a `WCS` and `shape` ... see the [reproject](http://reproject.readthedocs.org/en/latest/api/reproject.reproject.html) function as an example that can handle all of those.
You don't need to support that here ... just pick one option ... maybe `ImageHDU`?