Support caching of resources

For now, this is a really a simple MVP of what should probably be far more
configurable. This commit introduces a flag on a resource class to indicate
if that resource is cacheable. Consumers of Loquor can then set these flags
and provide a cache implementation (such as Memcache) through the Loquor
configuration.

If no cache flags are set (or if no cache is setup in configuration), then
Loquor will continue to make HTTP requests for each API request.

Ultimately we could introduce timeouts, although maybe that can be handled
purely in the consuming code.