Handle aliased attributes in AR::Relation#select, #order, etc.

With this we can write `Model#select(:aliased)`, `Model#order(:aliased)`,
`Model#reoder(aliased: :desc)`, etc.

Supplementary work to 54122067acaad39b277a5363c6d11d6804c7bf6b.
Merge pull request #11821 from kuroda/select-and-order-by-aliased-attributes

Handle aliased attributes in AR::Relation#select, #order, etc.
Added documentation for css_compressor
Merge pull request #13813 from lukesarnacki/log-deep-munge

Log for which keys values were set to nil in deep_munge
Merge pull request #13864 from sowjumn/master

Added documentation for css_compressor in asset_pipeline.md
scope is not necessary
always use a block for cleanup / prepare callbacks so we can clean the method signature
Allow session serializer key in config.session_store

MessageEncryptor has :serializer option, where any serializer object can
be passed. This commit make it possible to set this serializer from configuration
level.

There are predefined serializers (:marshal_serializer, :json_serialzier)
and custom serializer can be passed as String, Symbol (camelized and
constantized in ActionDispatch::Session namepspace) or serializer object.

Default :json_serializer was also added to generators to provide secure
defalt.