ENH: (GH4629) Support for using a DatetimeIndex/PeriodsIndex directly in a datelike calculation
closes #4629

```
In [1]: s = Series(date_range('20130101',periods=5),index=date_range('20130102',periods=5))

In [2]: s
Out[2]: 
2013-01-02   2013-01-01 00:00:00
2013-01-03   2013-01-02 00:00:00
2013-01-04   2013-01-03 00:00:00
2013-01-05   2013-01-04 00:00:00
2013-01-06   2013-01-05 00:00:00
Freq: D, dtype: datetime64[ns]

In [3]: s-s.index
Out[3]: 
2013-01-02   -1 days, 00:00:00
2013-01-03   -1 days, 00:00:00
2013-01-04   -1 days, 00:00:00
2013-01-05   -1 days, 00:00:00
2013-01-06   -1 days, 00:00:00
Freq: D, dtype: timedelta64[ns]
```

cc @jtratner @cpcloud comments?

Any other index combinations you think I should try?

As an aside, this does not work (nor should it)

```
s = Series(randn(10),index=date_range('20130101',periods=10))
s.index-s
```

as this is an Index set operation (you could of course extract the index from the rhs, but that's not that interesting)
 @jtratner ok otherwise?
 @jreback sorry about that - can only work on this outside of work (and I just realized that I just misread earlier)
 @jtratner np.....I am out of the office next week...so had a really light week this week....got a lot done!
 Epic. Thank you much.
