[#66841286]Add http_proxy support to the download_cache

This is for the benefit of Ruby 1.9.3; in Ruby 2.0 Net::HTTP will
automatically use any proxy defined by $http_proxy.

This change also makes sure that request objects only contain the
request part of the uri and not the hostname and port number to avoid
breakage in the proxy use case.

[#66841286]
Merge 66841286-http-proxy to master

[Completes #66841286]
CodeClimate improvements

This change reduces some duplicated code to make CodeClimate happier.
start_script module function

Previously, the start_script method was defined in a module for
inclusion.  Due to my lack of understanding about module methods in
Ruby, I did not realize that this mean that the method could not be
called directly.  This change makes the start_script method a
module_function allowing it to be called directly.
Support proxy credentials in http_proxy

Previously, the http_proxy support did not pass through credentials
from the environment variable if specified.  This limited the support
to proxies that did not require authentication.  This change adds
support for proxy URIs that contain credentials.

    cf set-env <app-name> http_proxy http://user:password@host:port

[#66924894][resolves #39]
Merge 66924894-proxy-credentials to master

[Completes #66924894]
Redis-based Session Replication

Previously, all Tomcat Sessions existed only in memory.  In the case
that a specific instance failed, the data in the Sessions hosted by
that instance would be lost.  In some circumstances this isn't ideal,
so Sessions should be replicated to an external repository.

This change adds support for persisting Sessions to a Redis instance.
It does this by using the RedisStore Tomcat PersistentManager Store
implementation.

As part of this effort the Tomcat container was refactored (it was
already too complicated) and a ModularComponent base type was created.
The ModularComponent allows enables a component to be composed of
multiple "sub-components" and coordinates the component lifecycle
across all of them.

[#66942528]
Merge 66942528-redis-session-replication to master

[Completes #66942528]
Un-pin New Relic version

Previously, the version of New Relic had been pinned to 3.4.1 since
3.4.2 had a show-stopper bug.  This change un-pins that version and
points it at 3.5.+ as recommended by the New Relic team.

[#65458276]
Merge 65458276-newrelic-3.5 to master

[Completes #65458276]
Version upgrades

This change upgrades the versions of the dependencies to their latest.
As part of this upgrade, Rubocop underwent a major version upgrade.
This necessitated major updates to the code.
Merge branch 'version-updates'
Repository at Cloudfront CNAME URI

This change updates the buildpack to download dependencies from the
Cloudfront CNAME URI.

[#64406114]
Merge 64406114-cloudfront to master

[#64406114]
Bash expressions do not fail 'single entry' check

Previously, if the value of a JAVA_OPTS was a bash expression (like in
the AppDynamics Framework), it would run afoul of the enforcement that
values in JAVA_OPTS must be a 'single entry'.  It would, however, only
cause a problem if a custom JAVA_OPT was specified as well (via the
java_opts.yml file). This change updates the detection logic for the
'single entry' so that it makes an exception for bash expressions and
ensures that the check is only run when Play applications are being
pushed.

[#67900270]
Merge 67900270-expression-in-java-opt to master

[Completes #67900270]
Update Anchor Links

Previously GitHub used capitalization reflecting the text for anchor links, such as:

 ../README.md#Configuration-and-Extension

This recently changed to all lower case, e.g.

 ../README.md#configuration-and-extension

While the links still went to the right page they did not go to the anchor. This change
updates the affected links so they work properly.

[#67911942]
SVG Badge Update

This change updates the badges in this project to use SVG.
Update reference to running a local CF. 

The Vagrant CF installer that was previously referenced in the docs is not being actively maintained. This change refers the reader to a CF docs page that describes the best options for running CF locally.
Use Yard (see ...) syntax

Based on the results of
https://github.com/lsegal/yard/issues/720#issuecomment-38344444 the
Yard (see ...) syntax suits our needs.  This change updates all of our
docs to remove the macros and instead use that syntax.

[#68083978]