Do more caching to avoid printing same warning many times.

With the addition of support for `inherit_from`, the configuration file
loading became more complicated. A side effect was that the warning
about unrecognized cop would be printed many time per `.rubycop.yml` file.

I've changed the config caching machanism so that one cache holds
config file paths and another holds config objects. The API of the
`Config` class was changed and big changes in specs were necessary.

Fixes #151.