[#1846] Attempt to make message parsing faster
Test message parsing
Get rid of asInstanceOf in play-functional
Refactoring Cached
Created parameter validator to allow easy validation of multiple parameters against multiple constraints. Included unit tests

Added another unit test to prove we support different data types and aggregate multiple errors
Make the JavaScript reverse router return a play.api.templates.JavaScript value
Add SBT cookbook in the documentation
Lang: case insensitive equals and hashCode. Fixes #1701.
Update Global.java

Removed unneeded tabs
Allowed Java apps to configure CSRF error handler

It was possible to configure a CSRF error handler per action, but not if
you're using the global CSRFFilter.  This change makes that possible,
via supplying a csrf.error.handler configuration parameter with the
class name of the filter.
Rename api.mvc.Controller implicits fix #2605

This modification reduces the chances of application code accidentally shadowing
the implicits leading to confusing errors
Remove session access through implicit in doc fix #2605
Remove flash access through implicit in doc fix #2605
Changed tabs to whitespaces
make ActionBuilder covariant

ActionBuilder is more flexible if it is declared to be covariant rather than invariant in its higher kinded type R.
R only appears in covariant positions ActionBuilder:
…(block: R[A] => Result):… is in a contravariant position and R[A] is the contravariant position of the function type, which overall makes R covariant.
Being covariant, ActionBuilder[WrappedRequest] (or other subtypes of WrappedRequest) can be safely upcast to ActionBuilder[Request].
Add ActionFunction, a generic version of ActionBuilder

Includes some other useful refinements on ActionFunction (ActionRefiner,
ActionTransformer, and ActionFilter), updates to documentation and examples for
ActionFunction, and appropriate compose functions (as suggested by @huntc).
Fix weak keys so we can check the root certificate key length

Add documentation to Algorithms.scala
Fix the minimum key size to actually match what the NIST recommendations are.
Suppress the exception on a weak certificate in a default trust store to a warning.
Upgrade the keystore to use 2048 RSA key.
clean up log messages.
Automatically start things in WithXxx helper classes
Update code to leverage the new way of using WithXxx helper classes