Added caching

Cache gets checked before any API stuff happens.
Cache gets created after any API stuff happens. (Each user gets their own cache file, eg. `/_cache/_add-ons/bluebird/_nicksnyder`)
The time to keep the cache is customizable in the `cache` parameter.