BUG: allow as_index=False for non aggregating groupby methods
closes #4648
closes #3417

@jreback merge-able? pretty trivial fix, but want to get your okay on it.
 looks fine

FYI I think there might be an open issue related to this (aside from the one u indicates)

might be the same or unrelelated don't know
 Does this work with an index which isn't plain (i.e. not just an arange)? Don't think you're testing for that...
 @hayd good call thanks
 Does this resolve #3805?
 @cpcloud example I had in mind was something like this (with non-boring index), from your branch:

```
In [1]: df = pd.DataFrame([[1, 2], [2, 3], [1, 4], [1, 5], [2, 6]], index=list('abcde'))

In [2]: g = df.groupby(0, as_index=False)

In [3]: g.apply(lambda x: x)
Out[3]: 
   0  1
0  1  2
1  2  3
2  1  4
3  1  5
4  2  6
```

Shouldn't this have index of original DataFrame.
 @jtratner nope (just tested)
 ah then i misunderstood what `as_index` was supposed to do.
 So I think the thing from SO was:

```
In [34]: g = df.groupby(0)

In [35]: g.apply(lambda x: x.head(2))
Out[35]: 
     0  1
0        
1 a  1  2
  c  1  4
2 b  2  3
  e  2  6

In [36]: g = df.groupby(0, as_index=False)

In [37]: g.apply(lambda x: x.head(2))
Out[37]: 
     0  1
0        
1 a  1  2
  c  1  4
2 b  2  3
  e  2  6
```

And we expect the latter not to include the group info.

```
   0  1
a  1  2
c  1  4
b  2  3
e  2  6
```

Now I think about it, we It could be completely misusing apply here...
 @cpcloud Think I have an even more trivial fix...!
 @hayd Welcome to it! Out of town until Tuesday :) 
