Upgraded the pipelining the library in order to circumvent a large use of memory given its initial capacity declaration.
Merge pull request #1370 from huntc/pipelining-conserve-mem

Utilise memory usage conservation of the pipelining library
Added scalariform pre-commit hook
Fixed pre-commit hook bug when no files have changed
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.