DataFrame.groupby no longer works after upgrading to latest pandas and numpy
#### Code Sample

```
import pandas as pd
df = pd.DataFrame({'group': 'abacb', 'value': [1, 2, 3, 4, 5]})
df.groupby('group').sum()
# Expected output - hopefully obvious :)
```
#### Exception raised

```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in f(self)
     95         try:
---> 96             return self._cython_agg_general(alias, numeric_only=numeric_only)
     97         except AssertionError as e:

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _cython_agg_general(self, how, numeric_only)
   3037         new_items, new_blocks = self._cython_agg_blocks(
-> 3038             how, numeric_only=numeric_only)
   3039         return self._wrap_agged_blocks(new_items, new_blocks)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _cython_agg_blocks(self, how, numeric_only)
   3074             result, _ = self.grouper.aggregate(
-> 3075                 block.values, how, axis=agg_axis)
   3076 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in aggregate(self, values, how, axis)
   1819     def aggregate(self, values, how, axis=0):
-> 1820         return self._cython_operation('aggregate', values, how, axis)
   1821 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _cython_operation(self, kind, values, how, axis)
   1737                                           "supported for the 'how' argument")
-> 1738             out_shape = (self.ngroups,) + values.shape[1:]
   1739 

pandas/src/properties.pyx in pandas.lib.cache_readonly.__get__ (pandas/lib.c:44357)()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in ngroups(self)
   1611     def ngroups(self):
-> 1612         return len(self.result_index)
   1613 

pandas/src/properties.pyx in pandas.lib.cache_readonly.__get__ (pandas/lib.c:44357)()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in result_index(self)
   1623         if not self.compressed and len(self.groupings) == 1:
-> 1624             return self.groupings[0].group_index.rename(self.names[0])
   1625 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in group_index(self)
   2275         if self._group_index is None:
-> 2276             self._make_labels()
   2277         return self._group_index

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _make_labels(self)
   2280         if self._labels is None or self._group_index is None:
-> 2281             labels, uniques = algos.factorize(self.grouper, sort=self.sort)
   2282             uniques = Index(uniques, name=self.name)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/algorithms.py in factorize(values, sort, order, na_sentinel, size_hint)
    195     uniques = vec_klass()
--> 196     labels = table.get_labels(vals, uniques, 0, na_sentinel, True)
    197 

hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_labels (pandas/hashtable.c:12817)()

TypeError: get_labels() takes exactly 4 positional arguments (5 given)

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in aggregate(self, arg, *args, **kwargs)
   3118                     result = self._aggregate_multiple_funcs(
-> 3119                         [arg], _level=_level)
   3120                     result.columns = Index(

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/base.py in _aggregate_multiple_funcs(self, arg, _level)
    611 
--> 612         return concat(results, keys=keys, axis=1)
    613 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/tools/merge.py in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, copy)
    833                        verify_integrity=verify_integrity,
--> 834                        copy=copy)
    835     return op.get_result()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/tools/merge.py in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy)
    866         if len(objs) == 0:
--> 867             raise ValueError('No objects to concatenate')
    868 

ValueError: No objects to concatenate

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _aggregate_generic(self, func, *args, **kwargs)
   3143             try:
-> 3144                 for name, data in self:
   3145                     result[name] = self._try_cast(func(data, *args, **kwargs),

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in get_iterator(self, data, axis)
   1479         """
-> 1480         splitter = self._get_splitter(data, axis=axis)
   1481         keys = self._get_group_keys()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _get_splitter(self, data, axis)
   1485     def _get_splitter(self, data, axis=0):
-> 1486         comp_ids, _, ngroups = self.group_info
   1487         return get_splitter(data, comp_ids, ngroups, axis=axis)

pandas/src/properties.pyx in pandas.lib.cache_readonly.__get__ (pandas/lib.c:44357)()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in group_info(self)
   1593     def group_info(self):
-> 1594         comp_ids, obs_group_ids = self._get_compressed_labels()
   1595 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _get_compressed_labels(self)
   1600     def _get_compressed_labels(self):
-> 1601         all_labels = [ping.labels for ping in self.groupings]
   1602         if len(all_labels) > 1:

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in <listcomp>(.0)
   1600     def _get_compressed_labels(self):
-> 1601         all_labels = [ping.labels for ping in self.groupings]
   1602         if len(all_labels) > 1:

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in labels(self)
   2269         if self._labels is None:
-> 2270             self._make_labels()
   2271         return self._labels

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _make_labels(self)
   2280         if self._labels is None or self._group_index is None:
-> 2281             labels, uniques = algos.factorize(self.grouper, sort=self.sort)
   2282             uniques = Index(uniques, name=self.name)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/algorithms.py in factorize(values, sort, order, na_sentinel, size_hint)
    195     uniques = vec_klass()
--> 196     labels = table.get_labels(vals, uniques, 0, na_sentinel, True)
    197 

hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_labels (pandas/hashtable.c:12817)()

TypeError: get_labels() takes exactly 4 positional arguments (5 given)

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-51-a3194810ca8a> in <module>()
----> 1 df.groupby('group').sum()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in f(self)
     98             raise SpecificationError(str(e))
     99         except Exception:
--> 100             result = self.aggregate(lambda x: npfunc(x, axis=self.axis))
    101             if _convert:
    102                 result = result._convert(datetime=True)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in aggregate(self, arg, *args, **kwargs)
   3585     @Appender(SelectionMixin._agg_doc)
   3586     def aggregate(self, arg, *args, **kwargs):
-> 3587         return super(DataFrameGroupBy, self).aggregate(arg, *args, **kwargs)
   3588 
   3589     agg = aggregate

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in aggregate(self, arg, *args, **kwargs)
   3122                         name=self._selected_obj.columns.name)
   3123                 except:
-> 3124                     result = self._aggregate_generic(arg, *args, **kwargs)
   3125 
   3126         if not self.as_index:

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _aggregate_generic(self, func, *args, **kwargs)
   3146                                                   data)
   3147             except Exception:
-> 3148                 return self._aggregate_item_by_item(func, *args, **kwargs)
   3149         else:
   3150             for name in self.indices:

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _aggregate_item_by_item(self, func, *args, **kwargs)
   3190             # GH6337
   3191             if not len(result_columns) and errors is not None:
-> 3192                 raise errors
   3193 
   3194         return DataFrame(result, columns=result_columns)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _aggregate_item_by_item(self, func, *args, **kwargs)
   3175                                      grouper=self.grouper)
   3176                 result[item] = self._try_cast(
-> 3177                     colg.aggregate(func, *args, **kwargs), data)
   3178             except ValueError:
   3179                 cannot_agg.append(item)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in aggregate(self, func_or_funcs, *args, **kwargs)
   2587                 return self._python_agg_general(func_or_funcs, *args, **kwargs)
   2588             except Exception:
-> 2589                 result = self._aggregate_named(func_or_funcs, *args, **kwargs)
   2590 
   2591             index = Index(sorted(result), name=self.grouper.names[0])

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _aggregate_named(self, func, *args, **kwargs)
   2701         result = {}
   2702 
-> 2703         for name, group in self:
   2704             group.name = name
   2705             output = func(group, *args, **kwargs)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in get_iterator(self, data, axis)
   1478         for each group
   1479         """
-> 1480         splitter = self._get_splitter(data, axis=axis)
   1481         keys = self._get_group_keys()
   1482         for key, (i, group) in zip(keys, splitter):

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _get_splitter(self, data, axis)
   1484 
   1485     def _get_splitter(self, data, axis=0):
-> 1486         comp_ids, _, ngroups = self.group_info
   1487         return get_splitter(data, comp_ids, ngroups, axis=axis)
   1488 

pandas/src/properties.pyx in pandas.lib.cache_readonly.__get__ (pandas/lib.c:44357)()

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in group_info(self)
   1592     @cache_readonly
   1593     def group_info(self):
-> 1594         comp_ids, obs_group_ids = self._get_compressed_labels()
   1595 
   1596         ngroups = len(obs_group_ids)

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _get_compressed_labels(self)
   1599 
   1600     def _get_compressed_labels(self):
-> 1601         all_labels = [ping.labels for ping in self.groupings]
   1602         if len(all_labels) > 1:
   1603             group_index = get_group_index(all_labels, self.shape,

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in <listcomp>(.0)
   1599 
   1600     def _get_compressed_labels(self):
-> 1601         all_labels = [ping.labels for ping in self.groupings]
   1602         if len(all_labels) > 1:
   1603             group_index = get_group_index(all_labels, self.shape,

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in labels(self)
   2268     def labels(self):
   2269         if self._labels is None:
-> 2270             self._make_labels()
   2271         return self._labels
   2272 

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/groupby.py in _make_labels(self)
   2279     def _make_labels(self):
   2280         if self._labels is None or self._group_index is None:
-> 2281             labels, uniques = algos.factorize(self.grouper, sort=self.sort)
   2282             uniques = Index(uniques, name=self.name)
   2283             self._labels = labels

/home/jon/development/testing/venv/lib/python3.4/site-packages/pandas/core/algorithms.py in factorize(values, sort, order, na_sentinel, size_hint)
    194     table = hash_klass(size_hint or len(vals))
    195     uniques = vec_klass()
--> 196     labels = table.get_labels(vals, uniques, 0, na_sentinel, True)
    197 
    198     labels = com._ensure_platform_int(labels)

hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_labels (pandas/hashtable.c:12817)()

TypeError: get_labels() takes exactly 4 positional arguments (5 given)
```
#### output of `pd.show_versions()`

commit: None
python: 3.4.0.final.0
python-bits: 64
OS: Linux
OS-release: 3.13.0-37-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8

pandas: 0.18.0
nose: 1.3.7
pip: 1.5.4
setuptools: 18.5
Cython: 0.20
numpy: 1.10.4
scipy: 0.15.1
statsmodels: None
xarray: None
IPython: 3.0.0
sphinx: None
patsy: None
dateutil: 2.5.0
pytz: 2016.1
blosc: None
bottleneck: None
tables: None
numexpr: 2.4.3
matplotlib: 1.4.3
openpyxl: 2.2.6
xlrd: 0.9.3
xlwt: 0.8.0
xlsxwriter: None
lxml: 3.4.2
bs4: 4.3.2
html5lib: 0.999
httplib2: None
apiclient: None
sqlalchemy: 1.0.12
pymysql: 0.6.6.None
psycopg2: None
jinja2: 2.8
boto: None
