Add Garner caching for categories endpoint

Garner doesn't seem to work with ROAR, so I've only added it to the /categories endpoint which doesn't use ROAR.

Garner also has support for conditional requests, so that should be available for all endpoints.