…be easily rescued together
…rescued by APICache and cached result returned if available. The exception will then be re-raised if no cached value available so that application code can properly handle different classes of exceptions. No need to raise custom APICache::Invalid exception in the block.
…et method * Reduces coupling * Added meaningful message to exception if API queried too recently
* Prevents effectively a memory leak * Behaves correctly in a multi process setup
* Made store a simple accessor - if not set it just defaults to memory store * Updated the docs
* Also added some specs for the APICache.start method * Removed the MemcacheStore since that is now redundant