Allow Resource::attrs to be empty

Makes it possible to return Resources that correspond to
unpopulated/unjoined/unhydrated (in SQL parlance) relationships—just
set attrs to null/undefined.
Really fill the links prop with all relationships in MongooseAdapter::docToResource
Support include in BaseController
Collection: don't give href a default
Add Collection::size
Fix MongooseAdapter::includeLinked
Start on Document in earnest
Make Mongoose a peerDependency!

Necessary so our app can get access to the same mongoose instance and
models used in the main app. YAY!