Decouple ActiveSupport dependency

This PR aims to be a first step on removing the AS dependency completely on future releases. I removed the usage of core extensions methods from the `Array` and `Hash` class and deprecated the usage of a `Symbol` as the `store` option - clients will have to supply the actual cache store object instead of letting the middleware do the lookup. `active_support/cache` will be lazily required and the gem will still be a runtime dependency for now.

/cc @georgeguimaraes @rafaelfranca