Fix inconsistent specs around caching

`#concern_reload` would execute the Rails `caches_page` and
`caches_action` methods multiple times resulting in multiple callbacks
being associated with the controller. This lead to inconsistencies.

Enabling `ActionController` caching by default so that we don't need to
repoen the class in order to get caching working.

This also refactors the `action_caching` to test via spying rather than
testing caching directly.