ENH: preserve non-nano DTA/TDA in Index/Series/DataFrame
Continue to cast non-nano ndarrays, but if a user goes out of there way to create a non-nano DTA/TDA, preserve it in the other constructors.
cc @datapythonista  Looks really cool.

Not sure if for the tests I'd compare to the literal of the dtype we expect. We're testing that the type of the array are preserved. This could be tested in general (not sure if it is), but feels a bit strange that this is done in the tests specific to non-nano, instead of making sure the dtype is the non-nano we want. Not important, just sharing, if you like this approach better, is fine with me. I guess we're testing the dtype of the array elsewhere already. Thanks @jbrockmendel 