Don't add CSRF tokens to responses that set cache headers

Adding CSRF tokens to cached responses could lead to users sharing CSRF
tokens if the Play instance is behind a caching proxy, like a CDN.

In this change, a response is determined to be cached if it has a
`Cache-Control` header that does not contain `no-cache`.

The isCached(result) check is in addTokenToResponse() as suggested by
@jroper, this should catch all code paths that might unwisely attempt
to add a token to cached response.

https://github.com/playframework/playframework/pull/3321#discussion_r16579382
Body parser max length fix up

Fixes #2219 and #1666

Made many changes, including:

* Java body parsers let the Scala body parser enforce the max length.
* A new configuration item, parsers.disk.maxLength, created for
  specifying the default max length for parsers that buffer content to
  disk (documented in body parser docs and migration guide)
* Max length changed to Long for disk types, so that bodies greater than
  2GB can be parsed.
* Max data length for `multipart/form-data` bodies is now enforced
  across the aggregate of all data parts.
* Deprecated the RequestBody.isMaxBodySizeExceeded flag, since 413 is
  now returned directly from all body parsers if the max length is
  exceeded.
Anorm result cursor
Merge pull request #2219 from jroper/2219-maxlength

RequestBody.isMaxSizeExceeded returns incorrect result for request body encoded in multipart/form-data
Merge pull request #3333 from cchantep/anorm-cursor

Anorm result cursor
Merge pull request #3321 from rtyley/do-not-add-csrf-token-to-cached-responses

CSRFFilter: Don't add CSRF tokens to responses that set cache headers
Ensured that Play's input stream results don't always chunk

Fixes #2127.
Ensure routes default parameters don't use Scala keywords

Fixes #2259
Support for forms with up to 22 fields

Fixes #2314
Merge pull request #2259 from jroper/2259-routes-keyword-default-value

Routes parsing breaks when combining a scala keyword with a default value
Merge pull request #2127 from jroper/2127-dont-chunk-input-stream

Play tries to chunk response when not allowed by request
Merge pull request #2314 from jroper/2314-22-form-fields

Form mapping method supports 18 fields