Enh fancy general indexing

I need the functionality to continue working, so I will just PR to your branch instead of the hyperspy master.

Do let me know if anything is amiss or you do not like some parts of implementation (such as '_additional_slicing_targets' in signal), as I am making this up as I go, obviously