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
Test for HTTP calls
Use maybeApplication in CSRF and Crypto
Update acolyte dependency
Fix duplicate Content-Type request header in WS
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
Merge pull request #3108 from jroper/assets-reload

Implemented non-blocking run mode
Merge pull request #3141 from buster84/patch-2

Fix duplicate Content-Type request header in WS
Merge pull request #3132 from gmethvin/maybe_application

Use maybeApplication in CSRF and Crypto
Improve Java Json documentation