Extract local cache middleware

### Problem
When extending `Strategy::LocalCache` in a project we need to have rack added because of https://github.com/rails/rails/commit/e176353b71607f6fd57b327ba3ca12712639ce00 . See here an example of gem that creates a cache strategy without adding rack: https://github.com/Shopify/memcached_store/blob/master/lib/active_support/cache/memcached_store.rb#L46

### Solution
Extract LocalCache Middleware, so it can requires rack dependencies,
without adding rack dependencies to `AS::Cache::Strategy::LocalCache`.

review @tenderlove @guilleiguaran