Avoid depending on ndarray behaviour in the main Masked class.
Avoid depending on ndarray behaviour in the main Masked class.

With the idea that it might become useful to have, e.g., a base
MaskedShapedLikeNDArray base class which would provide a bit of
an interface to SkyCoord, Time, etc.

The main implication is to move most methods to MaskedNDArray.
It seems not unlikely some might still end up being shared.

But also use a new from_unmasked method, which removes any need
to use .view in Masked.

Furthermore, in the process simplify the getting of subclasses.

larrybradley/astropy,aleksandr-bakanov/astropy,aleksandr-bakanov/astropy,saimn/astropy,larrybradley/astropy,mhvk/astropy,lpsinger/astropy,pllim/astropy,saimn/astropy,StuartLittlefair/astropy,aleksandr-bakanov/astropy,larrybradley/astropy,saimn/astropy,StuartLittlefair/astropy,StuartLittlefair/astropy,lpsinger/astropy,astropy/astropy,aleksandr-bakanov/astropy,lpsinger/astropy,mhvk/astropy,mhvk/astropy,astropy/astropy,StuartLittlefair/astropy,astropy/astropy,astropy/astropy,saimn/astropy,larrybradley/astropy,pllim/astropy,mhvk/astropy,pllim/astropy,astropy/astropy,lpsinger/astropy,mhvk/astropy,lpsinger/astropy,pllim/astropy,saimn/astropy,StuartLittlefair/astropy,pllim/astropy,larrybradley/astropy