Coerce strings when reading attributes.
Extract local cache middleware

Extract LocalCache Middleware, so it can requires rack dependencies,
without adding rack dependencies to `AS::Cache::Strategy::LocalCache`.
Group assets options in production env template
Merge pull request #14171 from arthurnn/extract_middleware_cache

Extract local cache middleware
Merge pull request #10497 from senny/10485_does_not_coerce_strings

coerce strings when reading attributes
include names in model generator warning message. refs #13515.

This is a follow up to #13515. It includes the name given and
the singularized version in the warning message. This will aide the user
to see wether the detected singular was right or not.