Groupby with multiple frames
Perhaps there is some canonical way of doing this that I'm not aware of, but from time to time I find myself wanting to group more than one frame by a key, and apply some function to the result. At the moment, I'm doing this in a somewhat roundabout way:

```
results = []
for key, t1 in table1.groupby(level='id'):
    try:
        t2 = table2.xs(key, level='id')
    except KeyError:
        t2 = None
    try:
        t3 = table3.xs(key, level='id')
    except KeyError:
        t3 = None
    # ... etc
    r = some_func(t1, t2, t3)
    results.append(r)
results = pd.concat(results)
```

I realize that often the easiest thing to do is just to merge the frames, but there are cases where that doesn't really make sense (e.g. non-compatible multiindexes that share one level). I imagine `pd.merge(t1, t2, on="id")` already does something like this to line up tables - do you guys think there is any value in exposing a standard way of doing this? Perhaps something like:

```
pd.multi_frame_groupby([t1, t2, t3, t4], level='id').apply(some_func)
```

Or, given that the full behaviour of such a groupby object is non trivial, perhaps just a generator for frame tuples?

```
gen = pd.multi_frame_groupby([t1, t2, t3, t4], level='id')
pd.concat([some_func(*t) for t in gen])
```
