incremental membership changes for groups, with tests & example

Dependent on https://github.com/discourse/discourse/pull/2989