Port GroupModel to use GroupManager

These now share a common backend, completing the split of the querying
logic from GroupModel. The old API in GroupModel is preserved by
forwarding calls to the GroupManager, and a GroupManager will be created
if not set manually.