Add groupingKey option, to be able to store multiple trees in one collection

Currently, it's not possible to have multiple trees in one collection. This PR makes that easily possible by specifying a `groupingKey` as option.

In case of for example multi tenancy and you specify a property `tenant` on your model that is used for nested sets, simply set `groupingKey` to `tenant` and the update queries now make sure that only the matching elements get updated.