(TK-22) Fix for Jetty9 service shutdown error when not first inited

This commit adds a simple check in the Jetty9 service's `stop` function
which avoids calling the `core/shutdown` function if no `:jetty9-server`
is attached to the context.  This avoids a schema violation `Exception`
which would otherwise be thrown for any case where the Jetty9 service's
`stop` function were called without the Jetty9 service's `init` function
first being called.  The prior `Exception` would have only occurred if
another service had thrown a `Throwable` from its `init` function and the
Jetty9 service's `init` function had not already been called.
Add .nrepl-port to .gitignore
Merge pull request #33 from camlow325/bug/master/TK-22-jetty-errors-during-shutdown-if-not-inited

(TK-22) Fix for Jetty9 service shutdown error when not first inited
(TK-21) Add `:callback-fn` option to `add-proxy-route`

This commit adds a `:callback-fn` option to `add-proxy-route`'s
`proxy-options`. This option can be given a function that will manipulate the
request object (for example, to add a header) when using Jetty's proxy
servlet.
(TK-21) Update README for `add-proxy-route` `:callback-fn` option
Merge pull request #35 from rlinehan/TK-21_proxy_callback_fn

(TK-21) Add `:callback-fn` option to `add-proxy-route`
(TK-10) Add function to get endpoints

Add function to get all registered endpoints. Currently returns
registered endpoints as strings. Tests also added.
(TK-10) Change to maps

Change get-registered-endpoints function to return maps instead
of strings. Update tests accordingly.
(TK-10) Use constants for types

Change endpoint saving to use constants for the type of
handler that registered the endpoints. Change tests to use
these same constants.
(TK-10) Dynamically add endpoints set

Dynamically add endpoints set to state during start lifecycle
function of the service, rather than adding it on creation
of the state atom.
(TK-10) Cleanup endpoint saving

Cleanup endpoint savings as per suggestions on the PR.
Change definition of state in let statements to (:state s).
Use update-in instead of assoc when updating state atom.
(TK-10) Use keywords to indicate type

Change from using defined constants to using keywords to indicate
the type of endpoint information. Also fix use of update-in.
(TK-10) Add additional servlet info

Add :servlet field to the servlet endpoint map, which contains
the type of the servlet.
(TK-10) Merge tests/change proxy keys

Merge the two tests testing get-registered-endpoints.
Change the names of the proxy keys to be more helpful/accurate.
(TK-10) Fix test failures

Fix test failures introduced by merging the two tests. Did so by
changing the calls to different versions of the same functions
so they would not have the same output.
(TK-10) Add log-registered-endpoints

Add log-registered-endpoints, which will get the
info on the registered endpoints and log it. Add unit test for
this function..
(TK-10) Add schema to get-registered-endpoints

Add schema with which to validate the return value of
get-registered-endpoints and its parameters.
(TK-10) Remove extraneous schema

Remove extraneous TestEndpoint schema, as it is no longer
needed.
(TK-10) Cleanup schema

Cleanup schema for the get-registered-endpoints function.
Change some nams and give an explicit required value for the
:type fields on each of the endpoint schemas.
(TK-10) Add register-endpoint function

Add register-endpoint function to core, which now handles
all the parsing of the endpoint information, thus removing it
from each individual service handler.