API: add Series.dt delegator for datetimelike methods (GH7207)

closes #7207

 ```
In [1]: s = Series(date_range('20130101',periods=3))

In [2]: s.dt.
s.dt.date              s.dt.dayofweek         s.dt.hour              s.dt.is_month_start    s.dt.is_quarter_start  s.dt.is_year_start     s.dt.minute            s.dt.nanosecond        s.dt.second            s.dt.week              s.dt.year              
s.dt.day               s.dt.dayofyear         s.dt.is_month_end      s.dt.is_quarter_end    s.dt.is_year_end       s.dt.microsecond       s.dt.month             s.dt.quarter           s.dt.time              s.dt.weekofyear        

In [3]: s.dt.year
Out[3]: array([2013, 2013, 2013])

In [4]: s.dt.hour
Out[4]: array([0, 0, 0])

In [5]: Series(np.arange(5)).dt
TypeError: Can only use .dt accessor with datetimelike values
```

Tab completion is specific to the type of wrapped delegate (DatetimeIndex or PeriodIndex)
```
In [5]: p = Series(period_range('20130101',periods=3,freq='D').asobject)

In [6]: p.dt.
p.dt.day         p.dt.dayofweek   p.dt.dayofyear   p.dt.hour        p.dt.minute      p.dt.month       p.dt.quarter     p.dt.qyear       p.dt.second      p.dt.week        p.dt.weekofyear  p.dt.year        
```
Can't this all be generated ala the numeric ops? Like defining `DatetimeProperty` class with a `_doc_source` property and a list of "pass through" properties and then simple call a classmethods, which builds the properties into the class? Then `Property` would have this class method and the implementation of  `DatetimeProperties` ends up

```python
common_properties = ['year', 'month',...]
class DatetimeProperties(Property):
    _doc_source = DatetimeIndex
    _property_names = ['date', 'time',...]
DatetimeProperties.generate_accessors()
```