add optional default value to GroupBy.get_group
I've used a try except block as opposed to and if else (below) to keep the non-default code path fast.  What I didn't do:

```
if default is None :
    inds = self.indices[name]
else :
    inds = self.indices.get(name, default)
```

Here is an example use case:

```
def foo(df, keys) :
    g = df.groupby('key')
    for key in keys :
        for x in g.get_group(key, default=[]).x :
            yield key, x
```

vs

```
def foo(df, keys) :
    g = df.groupby('key')
    for key in keys :
        if key in g.indices :
            for x in g.get_group(key).x :
                yield key, x
```

Many of the simple cases are actually handled by other higher level functions 
