Make Map inherit from NDData

This PR makes `GenericMap` and therefore all subclassed there-of base on `NDData` from astropy.

This was not quite as painless as it could of been and is based on astropy/astropy#1686 to fix NDData to allow our MapMeta as it's `meta` attribute.

I believe that astropy 0.3.0 will be released soon with the required patch, making astropy 0.3.0 a required dep for our 0.4.

Do not merge until the PR is mainlined into astropy! or the 0.3.0 release is done.