AssertionError if transform() changes number of columns (DOC?)
```
df = pd.DataFrame([[1, 2, 3], [2, 3, 3], [1, 4, 3], [1, 5, 4], [2, 6, 4]])
def onlycol0(group):
    return group[[group.columns[0]]]
g = df.groupby(0)
g.transform(onlycol0)
```

raises an "AssertionError: invalid dtype determination in get_concat_dtype".

```
def onemorecol(group):
    group['new'] = 2
    return group

g.transform(onemorecol)
```

raises a "ValueError: Length mismatch: Expected axis has 4 elements, new values have 3 elements".

```
def reversecols(group):
    return group[group.columns[::-1]]

g.transform(reversecols)
```

apparently works fine, but the resulting DataFrame has columns unchanged.

So: the docs should probably state that func must return a DataFrame with same index _and columns_ (confusion is possible also because the docs for apply() refer to applying "transform function" but in a more general sense). I will submit a PR.
