Npred cube2

Implementation which I intend to use to produce significance images (currently this is still running on my machine).

The unit tests will need much improvement soon as I just implemented some quick ones. Looking at the outputs with ds9 using the FermiGalacticCenter files seemed reasonable, but obviously not rigorous yet.

Don't know if you were aiming to merge this asap, so did a pull request just in case.
I don't think it makes sense to add an extra method for a single line of code.
Instead add a keyword argument `normalize=True` to the existing `kernel` method and at the end do:
```python
if normalize:
    kernel_array /= kernel_array.value.sum()
```