ENH: groupby.apply for Categorical should preserve categories (closes…
closes #10138

Does this change anything for groupby.apply in the transform case, rather than the aggregate case? It would be nice to add a test for transform-like apply with categoricals if we don't have one already.
 Oh good point ... the following actually doesn't reindex:

```
In [12]: grouped.apply(lambda x : 'foo')
Out[12]:
missing  dense
a        a        foo
         b        foo
         c        foo
dtype: object
```

I'll dig into the code path for this
 @mortada I actually think not reindexing is the right behavior here, for transforming grouped operators. The result index should be identical to the input index.
 @mortada I think @shoyer is correct; transform returns the original index
 As cool thanks guys, indeed I see that in the docs about transform. 

I'll add a test case for this behavior 
 @jreback @shoyer it's updated 
 OK, looks good to me. Can you add a release note?
 ah absolutely. I'm not quite sure what section this should go, I just added it in "other enhancements" 
 I'd probably call this a bug fix?
 yeah I was actually thinking the same thing, but the original issue was created as an enhancement
 @jreback moved this to `v0.16.2`, ready for review 
 @mortada gr8 thanks!
