Fix FileStore#cleanup to no longer rely on missing each_key method

This is based on the work by @bdurand in https://github.com/rails/rails/pull/3395, but I just want it to work as it apparently used to and remove all expired entries rather than extend the functionality.  So, we just replace ``each_key`` with some ``search_dir`` magic, rather than adding the ``:not_accessed_in`` option.