ENH: Allow aggregate numeric operations on timedelta64.

closes #5724

Currently, `timedelta64` columns can't be used in aggregate group operations. They are quietly dropped or, if no other columns are present, an exception is raised:

    In [2]: df
    Out[2]: 
         A        E
    0  foo 00:00:01
    1  bar 00:00:02
    2  foo 00:00:03
    3  bar 00:00:04


    In [3]: df.groupby('A').mean()
    Out[3]: 
    (...)
    DataError: No numeric types to aggregate

But any operation that works on numerical data is also well defined on timedeltas. This PR relaxes the restriction on those methods designated "numeric only" to accept numeric dtypes *and* `timedelta64`. I include a unit test with one simple case each for `DataFrameGroupBy` and `SeriesGroupBy`.

    In [2]: df.groupby('A').mean()
    Out[2]: 

               E
    A           
    bar 00:00:03
    foo 00:00:02


This is just a renaming to make things more clear. You either have a numeric (which is float/int), and NOT bool/datetime64/timedelta64 or an i8 type or other (bool/object)

so you take care of the in conversion just fine

```
is_i8_needed = com.needs_i8_conversion(obj.dtype
```

You might need to cast an ``i8`` conversion BACK to ``int64`` before you pass to ``_try_cast`` (because its float at this point, I don't remember if that is handled correctly, I think it is but you need to check). Basically if you pass to a timedelta/dateblock then floats/ints are cast to i8 then to the appropriate dtype (m8/M8).