#1329 Improved spec compliance with etags

- RFC2616 requires that if an etag is given with the If-None-Match
  header, but doesn't match, then the If-Modified-Since header must be
  ignored.
- This was causing issues specifically when rolling back a deployment.
- Also moved the AssetsSpec out of the integrationtest project and into
  play-integration-test, to make it simpler.
Switch to using ActorSystem.dispatchers.defaultGlobalDisptacher

Akka 2.2 changed the return type of ActorSystem.dispatcher from being
MessageDispatcher to being the less specific ExecutionContext
(ExecutionContext is a super type of MessageDispatcher).  This is the
only binary compatibility breaking change for Play, and so is the only
thing preventing users from upgrading to Akka 2.2.

The implementation of ActorSystem.dispatcher is
ActorSystem.dispatchers.defaultGlobalDispatcher.  The method signatures
of these methods haven't changed between 2.1 and 2.2, so be switching to
using them instead, we can allow Play users to upgrade to Akka 2.2 at
their own leisure.

Please note, this change does not upgrade Play to Akka 2.2, it only
makes Play binary compatible with both Akka 2.1 and Akka 2.2, so that
users can at their option upgrade to Akka 2.2.
Fixed 100-continue issues

* #1346 Fixed race condition when 100 continue is returned
* Fixed incompatibility between rejecting body and keep alive
* Refactored integration tests to have a more complete very low level HTTP Client
* Introduced HTTP pipelining integration tests
Don't use deprecated ActorRef.tell, since it's been removed in Akka 2.2
Properly encode path segments when reverse routing
Upgraded the pipelining the library in order to circumvent a large use of memory given its initial capacity declaration.
Applying #1406 fix to the 2.1.x branch.