Calling shift on a DatetimeIndex of length 0 returns an Index instead of a DatetimeIndex 
Minimal repro:

```
In [5]: pandas.__version__
Out[5]: '0.16.0-151-gcef3c85'

In [7]: DatetimeIndex([]).shift(3, 'H')
Out[7]: Index([], dtype='object')
```
