Updated all dependencies to the latest versions

* Fixed #1352 and part of #1213 (upgraded Akka and Scala).
* Fixed #1373 - JUnit test names are now properly reported.
* The specs2 2 upgrade was quite disruptive:
    - any methods at the end of a should block would cause things to
      fail, so this required moving those methods.
    - any specs that returned Unit now no longer work, so had to modify
      many specs to ensure they either returned the result of the last
      assertion made, or finished with "success"
    - Specs also introduced new future matchers called await, which hid
      imports of play.api.test.Helpers.await.  To address this, created
      a new PlaySpecification that mixes in all the Play test helpers,
      so now Plays await can coexist as an overloaded method, rather
      than being hidden.
    - As part of the previous point, extracted all of the test helpers
      into meaningfully named traits, and mixed them into the helpers
      object.
* Along the way fixed some documentation code samples tests, which
  weren't correctly passing the right body to actions.