ENH: Allow to group by an empty list
#### Is your feature request related to a problem?

Yes, I cannot group by an empty list.

#### Describe the solution you'd like

I would like to be able to group by an empty list of columns.  At the moment I get an error.

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby([]).agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
Traceback (most recent call last):
...
ValueError: No group keys passed!
```

I would prefer to see

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby([]).agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
aagg  bagg
   4     6
```

which would generalise grouping by a non-empty list, which works fine.

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby(["a", "b"]).agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
     aagg  bagg
a b
1 2     1     2
3 4     3     4
```

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby(["a"]).agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
   aagg  bagg
a
1     1     2
3     3     4
```

It seems to me this would be reasonable behaviour. Is there a particular reason it is not supported?

#### API breaking implications

None that I know of.

#### Describe alternatives you've considered

A partial workaround is to cook up a grouping function for simulating the behaviour I want, but this lacks uniformity.

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby(lambda _: "Only row").agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
          aagg  bagg
Only row     4     6
```

But I don't really want `"Only row"` to be there.  I just want

```
>>> DataFrame([{"a":1, "b":2}, {"a":3, "b":4}]).groupby([]).agg(aagg=('a', 'sum'), bagg=('b', 'sum'))
aagg  bagg
   4     6
```