ENH: Supporting rolling aggregations of datetime data


I have dataframe with 3 columns.The objective is to calculate rolling sum of n consecutive observations and minimum  time of those n observations. 
 

I got ValueError in following code:
```python
import pandas as pd
df = pd.DataFrame({'time': ['09:16:00', '09:17:00', '09:15:00','09:20:00',
                                    '09:16:00','09:19:00','09:21:00','09:28:00','09:16:00',
                                    '09:22:00','09:24:00','09:16:00'],
                   'value': [i for i in range(2,14)],
                   'date': ['2018-05-03']*12})
df.time = pd.to_datetime(df.time,format= '%H:%M:%S' ).dt.time
df.date = pd.to_datetime(df.date)
df.rolling(4).agg({'value':[sum],'time':[min]})

```
Error details: 

```python-traceback
ValueError                                Traceback (most recent call last)
<ipython-input-17-908245138798> in <module>
      7 df.time = pd.to_datetime(df.time,format= '%H:%M:%S' ).dt.time
      8 df.date = pd.to_datetime(df.date)
----> 9 df.rolling(4).agg({'value':[sum],'time':[min]})

~/anaconda3/lib/python3.7/site-packages/pandas/core/window.py in aggregate(self, arg, *args, **kwargs)
   1683     @Appender(_shared_docs['aggregate'])
   1684     def aggregate(self, arg, *args, **kwargs):
-> 1685         return super(Rolling, self).aggregate(arg, *args, **kwargs)
   1686 
   1687     agg = aggregate

~/anaconda3/lib/python3.7/site-packages/pandas/core/window.py in aggregate(self, arg, *args, **kwargs)
    310 
    311     def aggregate(self, arg, *args, **kwargs):
--> 312         result, how = self._aggregate(arg, *args, **kwargs)
    313         if result is None:
    314             return self.apply(arg, raw=False, args=args, kwargs=kwargs)

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _aggregate(self, arg, *args, **kwargs)
    496 
    497                 try:
--> 498                     result = _agg(arg, _agg_1dim)
    499                 except SpecificationError:
    500 

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _agg(arg, func)
    447                 result = compat.OrderedDict()
    448                 for fname, agg_how in compat.iteritems(arg):
--> 449                     result[fname] = func(fname, agg_how)
    450                 return result
    451 

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _agg_1dim(name, how, subset)
    430                     raise SpecificationError("nested dictionary is ambiguous "
    431                                              "in aggregation")
--> 432                 return colg.aggregate(how, _level=(_level or 0) + 1)
    433 
    434             def _agg_2dim(name, how):

~/anaconda3/lib/python3.7/site-packages/pandas/core/window.py in aggregate(self, arg, *args, **kwargs)
   1683     @Appender(_shared_docs['aggregate'])
   1684     def aggregate(self, arg, *args, **kwargs):
-> 1685         return super(Rolling, self).aggregate(arg, *args, **kwargs)
   1686 
   1687     agg = aggregate

~/anaconda3/lib/python3.7/site-packages/pandas/core/window.py in aggregate(self, arg, *args, **kwargs)
    310 
    311     def aggregate(self, arg, *args, **kwargs):
--> 312         result, how = self._aggregate(arg, *args, **kwargs)
    313         if result is None:
    314             return self.apply(arg, raw=False, args=args, kwargs=kwargs)

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _aggregate(self, arg, *args, **kwargs)
    557             return self._aggregate_multiple_funcs(arg,
    558                                                   _level=_level,
--> 559                                                   _axis=_axis), None
    560         else:
    561             result = None

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _aggregate_multiple_funcs(self, arg, _level, _axis)
    615         # if we are empty
    616         if not len(results):
--> 617             raise ValueError("no results")
    618 
    619         try:

ValueError: no results
```


