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
Closes #21