Java Buildpack 2 Upgrades

This change brings this fork of the Java Buildpack up to date with the forthcoming 2.0 version.  The new version of the buildpack brings a number of updates to the core of the buildpack that dramatically reduce the amount of code that a component must include.  In the case of this buildpack, both the component and its spec were reduced in length by around 50%.

The main changes to the component were around the widespread use of` Pathname` and the use of the `Application` and `Droplet` abstractions.  The main changes to the spec were to use the `component_helper` which handles the setup of the test environment, reducing the need to explicitly do this in each spec.

**NOTE:** the vast majority of the commits in this pull request are simply upstream changes that haven't been merged in.  The final commit (d2a6e86b1aa85770e029cfaafe2ed38cb994daa8) is the one with changes to the JBoss container and its spec.