Implemented non-blocking run mode

* Used this to implement a dev-mode scripted test.
* Reproduced #2905, assertions commented out to prevent failing.
Only reload on non assets changes

Fixes #2905

This is a major refactoring of PlayReloader.

* Pulled out all logic to do with watching, jnotify etc into a
  PlayWatchService
* Rewrote change detection/reload logic
* Added some more scripted tests to test things like reload failures
Don't overwrite explicit Content-Type in FakeRequest
Make body type argument of WrappedRequest covariant to match Request
Test for HTTP calls
Use maybeApplication in CSRF and Crypto
Add missing lang attributes for improved accessibility (see http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-doc-lang-id.html and http://www.w3.org/TR/WCAG20-TECHS/H57.html).
Merge pull request #3139 from danielnixon/master

Add missing lang attributes for improved accessibility
Update acolyte dependency
fix javadoc indent
Merge pull request #3142 from gmethvin/json

fix javadoc indent
Simplify json response example and add an example of serializing a Java object
Merge pull request #3144 from benmccann/json-docs

Simplify json response example and add an example of serializing a Java object
Fix duplicate Content-Type request header in WS
Rename JavaJsonRequests documentation to JavaJsonActions. The current name is quite confusing because it also deals heavily with json responses
Merge pull request #3145 from benmccann/json-docs-rename

Rename JavaJsonRequests documentation to JavaJsonActions
Merge pull request #3140 from cchantep/acolyte-dep

Update acolyte dependency
When adding activator to PATH variable use an absolute rather than relative path
Merge pull request #3149 from benmccann/activator-install-docs

When adding activator to PATH variable use an absolute rather than relative path
Merge pull request #3116 from cchantep/router-call-tests

Test for HTTP calls