Do not enforce primary key on instance methods
Allow passing in updated model to "request"

Example:

`Account.request(options, processingOptions, model)` will return the cached
result if there is one, but after the background API request it will
update `model` with the new properties or objects, rather than the
original value resolved from the `Account.request` promise.

This is useful for caching `#fetch`.