Added fault tolerant caching and fixed a couple bugs.
Fixed formatting.
Made fault tolerance optional and removed faraday dependency.
Removed unused function.
Fixed line length.
Added todo comment about configurable exceptions.
Merge pull request #2 from mdsol/add_fault_tolerance

Add fault tolerance
Don't set HTTP_IF_NONE_MATCH to nil if etags missing.
Merge pull request #3 from mdsol/fix_etag_bug

Don't set HTTP_IF_NONE_MATCH to nil if etags missing
Moved fault_tolerant? call into method and evaluate the middleware_option fallback_to_cache.
Don't assume that we have middleware_options.
For Eureka-client we can assume them to be present but in other contexts they may not be around.
Monkey-Patch Rack::MockRequest to pass in the middleware options (as Euresource/Eureka client does).
Added tests to test the per-request fault-tolerance option
Added comment for the fault_tolerant_condition
Addressed comments
Added more explicit logging of failover
Added retry-logic: Retry <retry> number of times, then (if fault-tolerant) fail-over to stale date or just fail.
Bumped version
Added retry logic to miss case (no data in cache)
Addressed comment