fix(dirty_checking): implement newGroup() functionality and uncomment tests

This gets all 18 dirtychecking tests passing, but the test coverage is still
somewhat poor and this needs to be addressed. More work on this will happen
over the next few weeks.

Closes #20