BUG: Index does not inherit existing Index or DatatetimeIndex object …
This PR is meant to fix issue #11193 
The issue prevent, when creating a new `Index` object based on a passed `Index` or `DatetimeIndex` object, to inherit the existing `Index` name if a new name is not provided. 

I've also created two unit test which test the new behaviour on both cases (passing an `Index` or `DatetimeIndex` object) and added a comment in the whatsnew documentation.

Great!
- This could test other classes (`PeriodIndex`, etc), both when they're called with their own constructor (`pd.PeriodIndex(period_index)`, and with different constructors (`pd.Index(period_index)`).
- This could also update all the fields in `_attributes`, rather than just `name` (although it'd have to protect against differently typed Indexes having different attributes. In many cases it would be identical; a standard `Index` only has `name` in `_attributes`.)

I wonder if you could just call `_infer_new` from this (unmerged) PR: https://github.com/pydata/pandas/pull/11497, and that would take care of all this.
 I'll rebase on master and squash my commits. I should update my PR shortly.
 minor correction, pls rebase as I just merged #11497 which _might_ impact this. ping when green.
 I've just rebased @jreback I'll add a second comment when the Travis CI build is completed. 
 @jreback let me know if this needs further changes.
 @IamGianluca can you update
 I've updated the unit test @jreback 
 merged via https://github.com/pydata/pandas/commit/fc40dcce34874c8399474b0a3b8119ea32207055

thanks!
