Zero-touch support for Spring Insight

Spring Insight is a monitoring solution provided Pivotal[1].  It monitors
Spring web applications for performance and faults.  This support is
implemented as a framework that looks for a service called 'insight' and acts
when it is found.  The framework downloads the appropriate Insight agent from
the Insight dashboard and configures it so that it connects to the bound
service properly.  Configuration of Insight is not accomplished through the
buildpack, but rather through the Insight dashboard.  This service only works
for applications deploying into the Tomcat container and modifies the Tomcat
container with *TEMPORARY* support for behaviors needed by the Spring Insight
agent.  These changes to the Tomcat container are not likely to last long and
other components should not depend on or emulate them.

[1]: http://gopivotal.com/pivotal-products/apps/pivotal-tc-server

[52064679] [52065001] [52065073]
[#58830044]Broaden service detection criteria

Check for variables values in user-provided services as per the
documentation provided separately by Ben Hale for the newrelic
service.

[#58830044]
Merge 58830044-user-provide-newrelic-service to master

[Completes #58830044]
Merge remote-tracking branch 'chris/master' into 59475440-spring-insight-pull-request

[#59475440]
Merge 59475440-spring-insight-pull-request to master

[Completes #59475440]
AppDynamics Support

This change adds support for zero-touch usage of an bound AppDynamics
service.  The documentation for the component contains information on
how to bind the service to use this functionality.

[#52415605]