(TK-20) Create webrouting service

Create webrouting service with one multi-arity function,
add-context-handler. Add tests for add-context-handler function.
(TK-20) Add remaining handlers to webrouter

Add remaining service handlers to the webrouting service, along
with tests for these service handlers.
(TK-20) Add additional handlers to webrouter

Add additional service functions to the webrouting service
so that services can replace all dependencies on the webserver
service with dependencies on the webrouting service.
(TK-20) Add multiserver support to webrouter

Add multiserver support to webrouter in the form of -to,
-for, and -from functions, which are identical to their
suffix-free forms except that they allow the user to specify a
specific server.
(TK-20) Refactor tests

Refactor tests, moving proxy-related tests and overriding tests
into their own files.
(TK-20) Add partial multi-route support

Add init function to core which supports multi-endpoint
configurations for a single service. Add multi-route support
to context handler service functions.
(TK-20) Implement multi-route support

Implement multi-route support to all handler service functions
for the webrouting service. Also, modify the APIs of all
handler service functions to accomodate this.
(TK-20) Finish webrouting API changes

Finish implementing API changes for all remaining webrouting
service functions (override-webserver-settings!,
get-registered-endpoints, log-registered-endpoints, and join).
(TK-20) Add webrouting service test

Add webrouting service tests. These test to make sure that
another service can successfully use the webrouting service as
intended, and that an exception is thrown if the user calls a
service function and passes in a service that is not specified
in the configuration file.
(TK-20) Improve error handling

Improve error handling when the user specifies a service
that isn't in the configuration file when using the webrouting
service.
(TK-20) Modify calls into webserver service

Modify the calls into the webserver service to reflect the new
API changes.
(TK-20) Simplify retrieval of endpoints

Simplify retrieval of endpoints by allowing
get-endpoint-from-config to use :default for the route-id if
a nil route-id is passed in. Also, remove use of defaults in
implementations of handler service functions.
(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.(TK-20) Update dependencies

Update Trapperkeeper and Kitchensink dependencies.
(TK-20) Use service instead of keyword

Change the implementations of the various service functions
in the web-routing service to take a service instead of a keyword.
Remove configurations from common.clj

Remove various configurations from common.clj and move them
into the files that are using them. The greater specificity
required when specifying a service in the configuration file
means that these configurations are now specific to particular
namespaces and are only being used in one place. Hence, they
are no longer common.
(TK-20) Remove unnecessary tests

Previously, the unit tests for the webrouting service were testing
things that were really the domain of the jetty9 service. Remove
these unnecessary tests so that only the functionality of the
web routing service is being tested.
(TK-20) Address PR feedback

Address feedback on the PR for this ticket. Shorten various
lines and DRY up various parts of the code.
Fix mistake in service test

Fix mistake in test that ensures an IllegalArgumentException
is thrown when trying to route with a service that doesn't exist
in the config file.
Remove errant import and change test var names

Remove an unnecessary import statement from the webrouting core
file, and change the names of various test variables.
(PDB-671) Enable JMX support for Jetty 9

This patch enables JMX support for exposing Jetty 9 metrics.

I've introduced a new configuration item `jmx-enable` which is a string based
boolean configuration item. It defaults to `true` which enables JMX support
by default.

Signed-off-by: Ken Barber <ken@bob.sh>