Updating Cache constructor to accept array() or \ArrayAccess

This refines the cache package to allow an `$options` array to be passed, or an object that implements `\ArrayAccess`. It removes the typehint, so that regular arrays can be used as well.