Implement hidden fields on /:collection/:id route

This is a WIP, but it demonstrates the mechanics of how the hidden
fields are going to work. The `hiddenFields` middleware exposes a
`req.fields` property which can be passed into the storage class's
`retrieve` method. Mongo uses this field spec to decide what fields to
return.