CXX-186 Add group command helper

Adds the ability to use the group command in a convenient way.

The `group` method takes a key object where as the `groupWithKeyFunction` method takes a key function.
Whe referring to functions or parameters in comments, I find it helpful to 'quote' them to make them stand out.