Refactor some functions into a utils file
Resource: Support deleting nested attributes
Add ResourceTypeRegistry
ResourceTypeRegistry: store the adapter, not model, for each resource
Expose the ResourceTypeRegistry
ResourceTypeRegistry: support getting *all* urlTemplates
BaseController: total refactor

Make it a class instantiated with a Registry, and have it use the
registry to find an adapter (and urlTemplates etc) required to handle
each request. No more janky extend/subclasses/adapterFn on the
controller.

Add basic support for create and delete. (Still waiting on side
posting, and delete doesn’t manage associations or call userland code
that could do so)
MongooseAdapter: total refactor

Now that it’s clear that this is going to have to handle much more than
GETs, have top level methods only for crud operations (and some static
helpers), and keep queryBuilder state in the find method.

Support the concept of extraResources—ones included in the response but
not directly connected to any primary resources.

Start create and delete support
Support default includes for resources
Test/compilation updates
Document: support extra resources, etc.

Also, getting primary resources from JSON. Useful for handling
PUT/POST, where a JSON doc comes in.
New MongooseAdapter