Split #416 and refactor as appropriate to implement sparse [fieldsets](http://jsonapi.org/format/#fetching-sparse-fieldsets), [sorting](http://jsonapi.org/format/#fetching-sorting) and [filtering](http://jsonapi.org/format/#fetching-filtering).