[#1846] Attempt to make message parsing faster
Test message parsing
Lang: case insensitive equals and hashCode. Fixes #1701.
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.
Add requirement of WS to have application in scope
Anorm Highlights
Reverse async Java test method changes

The synchronous API that was there previously is actually better for
most things. For other things using an integration test with a WS
client is fine. Reverses 6503338 and 8810a0b.
Issue #2687 [Docs] rewrite of Play WS docs.
Process multiple certificates into a keystore from a string.
Use Concurrent.unicast rather than broadcast for enumerating Java chunked responses

This change improved performance by 17% in one simple benchmark
Mute exhaustive match warnings when pattern matching Steps

This fixes warnings accidentally introduced in 27bf35e.
Use a Promise to avoid a race when attaching Chunks disconnect callbacks

I didn't actually see this race happening in practice, but I could see how it would be possible.
Merge pull request #2669 from jroper/csrf-filter-java-error

Allowed Java apps to configure CSRF error handler
Merge pull request #2713 from cchantep/anorm-hl23

Anorm Highlights
Applied the remainder of the factoring out of the spray-cache where the asset info cache is avoided when in development mode.
Merge pull request #2736 from huntc/nocache-when-dev

[trunk] assets caching prevents resources refreshing
Added a reverse route context

This is made available whenever a PathBindable is implicitly required,
so that PathBindables can look at the context and get information about
the route they are binding.

The context contains all the fixed parameters for the route, this allows
an asset path bindable, that wants to put a hash of the asset in the
path, to lookup the value of the "path" parameter to find that the
assets live at "/public", for example.

As a method of testing/validating this, I created a new Assets.Asset class,
a new Assets.versioned route, and I modified the integrationtest project to
use it. I didn't actually implement the fingerprinting of the asset URL,
that depends on other things, but it's a start.
Merge pull request #2623 from richdougherty/java-chunked-unicast

Use Concurrent.unicast for Java chunked responses
Merge pull request #2719 from kipsigman/2687-javaws-rewrite

Issue #2687 [Docs] update of "Calling Web Services" docs.
Merge pull request #2735 from wsargent/add-multiple-certificates

Multiple certificates in a string based key store