ENH: Add groupby().ngroup() method to count groups (#11642)
This basically adds a method to give access to the coding returned by `grouper.group_info[0]`, i.e. the number of the group that each row is in.  This is a natural parallel to cumcount(), and while it's not the world's most important feature it's come in handy for me from time to time and deserves a public method, IMHO.
- [X] closes #11642
- [X] 9 tests added / passed
- [X] passes `git diff upstream/master | flake8 --diff`
- [X] whatsnew entry
