Self-referrential models should be able to build grandchildren

Currently broken.
Progress on nested relations
Initial commit of IdentityMap for BaseModel
Added `force` option to `collection.fetch`

This option is false by default, which will turn `fetch` into a noop if
the collection has already been synced.
Created  helper method
Removed debugging console logs from IdentityMap
Small typo fix
Changed mechanism for loading compound documents

Instead of populating the child collections when the parent model is
created, we now wait until the collection is fetched and then look for
the collection within the parent model's `related` objects.
Merge branch 'feature/model-deferreds' into develop