Introduced the native packager plugin in place of the customised "dist" task.
Fixes to get native packager working.

* Remote pattern matching so type error shows up
* Move native packager settings *First* so they don't override play settings on a project.
* Add compile:package-bin to the libraries list in the distribution.
Leverage the packager's makeBashScript key and other tweaks
Bump native packager to latest milestone.

* Update PlaySettings to bat file is generated
* Bump milestone build of native package

Use native-packager java-application archetype for packaging (for now).

* Annotate types on public members in PlayCommands
* Ensure script has executable permissions
* Update to use java_application settings rather than just base packaging.
Moved to 0.6.0 of the native packager and integrated with native packager script production
Documentation and tests for the new "dist" behaviour
A little help for the compiler to speed things up
Some clarifications around what is required for invoking a script.
Changes as a result of PR feedback - mostly cosmetic.
Removed remaining few incorrect references to Promise.
Crypto improvemets

* Added comprehensive docs on the algorithms used by the Crypto library,
  and consequences of using those algorithms.
* Made the JSSE provider and AES encryption transformation algorithm
  configurable.
Merge pull request #1368 from jroper/crypto-improvements

Crypto improvemets
Upgraded the pipelining the library in order to circumvent a large use of memory given its initial capacity declaration.
Allow PLAY_VERSION to be set from command line when building
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.
Merge pull request #1352 from jroper/version-refresh

Version refresh
README files can also have extensions such as .md. This commit permits all types. Any file named README in the base directory will now be copied over (including the possibility that there is no README).