Models are now only instantiated once per instance.

- This is to enable cyclical dependencies between model classes,
  and also improves memory efficiency by having only one of each
  type of model in memory. Since the behavior of the models is
  essentially static, this works great; we still take advantage of
  the handy object-oriented semantics but guarantee a singleton as
  long as ModelImporter is used.
REST endpoints, model, and swagger docs for Groups.

- Also added a skeletal Item model.
- Test sorting capabilities.
Add tests for much of the groups behavior.
Implement group delete endpoint.

- Added update method to model base class. Group deletion uses it
  to remove references to the group from other collections using
  pymongo.
Refactor model importing semantics.

Now we really support cyclical deps, and also the semantics are
generally better and less magical.
Fix failing user deletion test.
Fix comment format throughout for sphinx.
Merge pull request #40 from girder/groups

Groups