Rails model caching

Adds deep caching to our level/script-oriented Rails model objects (`Script`, `Stage`, `ScriptLevel`, `Level`, `Game`, `Concepts`) to reduce database query load and improve performance.
Uses Redis on staging and production servers if a `CDO.redis_store` URL is provided, otherwise defaults to using memory store. (`perform_caching` is `false` on development and test environments).
do we think concept_progress will be cached enough to bring it back?