APE6 preliminary review

I feel you are dismissing this alternative of removing `NDData` completely too quickly.
Packages like `scipy` or `scikit-image` do very well with a function-based API and without an `NDData` class.

IMO starting the data classes at the `Spectrum` or `CCDImage` level instead of having most data classes sub-class `NDData` is a real alternative worth exploring a bit more here ... why exactly is introducing `NDData` better?