Add support for specifying the external context path (#41)

Instead of hardcoding a context path of "/", allow specifying it in configuration as http.contextPath.

This change adds new arguments to Launcher.createExternalContext and ExternalContext's constructor, breaking compatibility with some existing applications.
Improve handling of Launcher failures (#43)
Fix HealthCheckUtil/MetricsUtil's support for environments other than test and production (#31)

The logic is no longer environment-specific (the environment-specific signatures have been deprecated, and delegate to the default one).
In all cases, if there is a registry in the servlet context, it is used.  If not, a fallback registry is instantiated on first access and then used.
This supports all cases where the application is running with a properly initialized servlet context, as well as cases (such as testing)
where the servlet context is not available.
Merge pull request #44 from davidmc24/feature/exit-status

Improve handling of Launcher failures (#43)
Merge pull request #42 from davidmc24/feature/context-path

Add support for specifying the external context path (#41)
Merge pull request #45 from davidmc24/feature/util-envs

Fix HealthCheckUtil/MetricsUtil's support for environments other than test and production (#31)
Merge branch 'master' into feature/context-segregation

Conflicts:
	src/java/grails/plugin/lightweightdeploy/Launcher.java