(PE-3140) Wrap webserver start in shutdown-on-error

This commit wraps the `start-webserver` call during the `start` phase of
the webserver-jetty9 service in a `shutdown-on-error` call.  This allows
the Jetty server instance to be persisted to the service context and,
therefore, have a `stop` call for the service stop the Jetty server
instance.  Stopping of the Jetty server instance is necessary in order
for the JVM process in which the server was started to gracefully exit.
(PE-3140) Catch `start-webserver` errors in `start`, calling `shutdown`

This commit changes the implementation of error handling for the call to
`start-webserver` during the start phase of the service to call
`shutdown` explicitly.  The implementation in the previous commit relied
upon the Trapperkeeper framework to invoke `shutdown` implicitly when
the service was being shut down -- signalled through the exception being
caught in a `shutdown-on-error` block.
(PE-3140) Removed unnecessary :ShutdownService shutdown-on-error reference

This commit removes an unnecessary reference to the shutdown-on-error
function in the :ShutdownService from the jetty9-service defservice.
Merge pull request #27 from camlow325/maint/master/PE-3140-handle-jetty-startup-errors

(PE-3140) Wrap webserver start in shutdown-on-error
(TK-2) Rename `:config` atom to `:state`

We need a place to store the original configuration data in the
context map, and the logical name for that is `:config`; we were
using that for another purpose (to store an atom that had some
mutable state).  This commit simply changes the existing uses
to use the key `:state` instead, which is probably a bit more
accurate of a description of what we're doing, and also frees
us up to be able to use `:config` to store the actual config
in subsequent commits.
(TK-2) Add in prismatic schemas and tests for configuration objects

This commit adds prismatic schema definitions and tests for all
of the objects making up the jetty9 configuration.  It doesn't
actually wire the schemas into the code yet.
(TK-2) Remove old `configure-webserver` functions

This commit removes all of the old configuration functions and
ports the code to use the new prismatic schema representations
of the config data.

Conflicts:

	src/puppetlabs/trapperkeeper/services/webserver/jetty9_core.clj
	src/puppetlabs/trapperkeeper/services/webserver/jetty9_service.clj
(TK-2) Reorganize core namespace

This commit doesn't contain any code changes; it simply re-orders
the functions and adds some pragmas to try to make things a bit
more organized.

Conflicts:

	src/puppetlabs/trapperkeeper/services/webserver/jetty9_core.clj
(TK-2) Update schema version, docs

This updates us to the more recent version of prismatic schema,
and fixes some docs that were not accurate w/rt `port` and
`ssl-port` settings.
(TK-2) cleanup based on PR feedback
Merge pull request #25 from cprice404/port-config-to-schema

Port config to prismatic schema