groupby aggregate: class as `arg` value
Feature request: it would be nice if `aggregate` allowed classes as an argument, using its constructor as the function to aggregate by. In the code sample it recognises `frozenset` as an iterable because it happens to have such an instance method.

I'd suggest a check like:

``` python
>>> inspect.isclass(frozenset)
True
>>> inspect.isclass(frozenset())
False
```

(I don't think a sane person would make a class with a `@staticmethod __iter__` returning the functions to aggregate by)
#### Code Sample, a copy-pastable example if possible

``` python
>>> pd.DataFrame(np.ones((2,2)), columns=[0,1]).groupby(1)[[0]].agg(frozenset)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/core/groupby.py", line 3597, in aggregate
    return super(DataFrameGroupBy, self).aggregate(arg, *args, **kwargs)
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/core/groupby.py", line 3114, in aggregate
    result, how = self._aggregate(arg, _level=_level, *args, **kwargs)
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/core/base.py", line 564, in _aggregate
    return self._aggregate_multiple_funcs(arg, _level=_level), None
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/core/base.py", line 616, in _aggregate_multiple_funcs
    return concat(results, keys=keys, axis=1)
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/tools/merge.py", line 845, in concat
    copy=copy)
  File "/home/limyreth/.local/lib/python3.5/site-packages/pandas/tools/merge.py", line 878, in __init__
    raise ValueError('No objects to concatenate')
ValueError: No objects to concatenate
```

It can be worked around by using a lambda:

``` python
pd.DataFrame(np.ones((2,2)), columns=[0,1]).groupby(1)[[0]].agg(lambda x: frozenset(x))
```
#### Expected Output

``` python
         0
1         
1.0  (1.0)
```
#### output of `pd.show_versions()`
## INSTALLED VERSIONS

commit: None
python: 3.5.2.final.0
python-bits: 64
OS: Linux
OS-release: 4.6.4-1-ARCH
machine: x86_64
processor: 
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.18.1
nose: 1.3.7
pip: 8.1.1
setuptools: 20.6.7
Cython: None
numpy: 1.11.1
scipy: 0.18.0
statsmodels: None
xarray: None
IPython: None
sphinx: 1.4.5
patsy: None
dateutil: 2.5.3
pytz: 2016.6.1
blosc: None
bottleneck: 1.0.0
tables: None
numexpr: 2.4.6
matplotlib: 1.5.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.0b2
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None
