Play support

This change updates the existing play support to actually work.  The
first change was to cleanup the tests such that they never write into
the test source tree.  The second change was to attach additional
libraries into the classpath differently for the dist versus staged
payloads; added to the classpath variable for dist, symbolically
linked into staged for staged.  The third change was to replace the
default Netty server with our Bootstrap implementation.

[#49696097]
Merge 49696097-play-auto-reconfiguration to master

[Completes #49696097]
Shared Play utility code

Previously, some of shared Play utility code was left in the Play
container.  This code was moved to the PlayUtils class and removed
from the Play container.

[#53308971]
Merge 53308971-refactor-play-utility to master

[Completes #53308971]
Play JPA Plugin

Previously, if a Play application used the JPA plugin, auto-
reconfiguration would not be able to reconfigure it.  This change adds
support for auto-reconfiguring Play applications that use JPA.

[#49696153]
Merge 49696153-play-jpa-plugin to master

[Completes #49696153]
Constrain Play JAR pattern

Previously, the Play JAR pattern was too wide and would match JARs
incorrectly.  This change ensures that only the proper Play JAR is
selected.

[#49696153]
Merge 49696153-still-broke to master

[Completes #49696153]
Avoid directories in Groovy detection

Directories such as:

grapes/org.codehaus.groovy

caused a failure in the Groovy detect logic, so filter out
directories.

Add a test to verify the correct behaviour.

[#53781773]
Merge 53781773-groovy-detection-fix to master

[Completes #53781773]
Add framework to components list

Previously, the PlayJpaPlugin framework was not listed in the
components.yml file.  This change adds it.

[#49696153]
Merge 49696153-jpa-plugin to master

[Completes #49696153]
Add contribution guidelines

Previously there were no guidelines for contribution to the project.
This change adds those instructions.  This change also brings the code
in line with contribution guidelines and updates all dependencies to
their latest versions.

[#53287601]
Merge 53287601-contributing to master

[#53287601]
Ensure missing cached file behavior

Previously, the DownloadCache did the right thing (re-download) a file
when it had been moved out of the cached location as part of block
execution.  However, it was not clear from the test code that this was
its intended behavior.  This change adds a test that explicitly tests
this behavior.

[#52124997]
Merge 52124997-missing-cached-file to master

[Completes #52124997]
Merge commit '852ba397a312abb999dedeb0a89ab5d2d41ecae2'

Conflicts:
	.gitignore