APE7 - A plan for NDData

This is ready for review. Comments are solicited until **Friday 14th November** after which a vote will be taken on whether to accept or reject this APE.

(note, this has been renamed to APE7 since there is already an APE6 proposed in #7)
I personally strongly object to ``NDData`` implementing ``__array__`` for the reasons stated in the APE that it makes it too easy to use the ``NDData`` object as an array and may not always do the right thing with masks and units. It's up to the subclasses if they want to implement it, but we shouldn't do that in ``NDData`` (even now it is no longer the base class).