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