(PE-3659) Update Jetty shutdown processing for new TK release

This commit updates the project.clj dependency to a new Trapperkeeper
version (0.4.0) which has support for calling service stops when an
error occurs during service startup.  The related Trapperkeeper changes
were done in the pull request associated with PE-3657.

This commit also updates the project.clj dependency to a newer version
of Kitchensink (0.7.1) in order to stay in sync with Trapperkeeper's own
dependency on Kitchensink.

This commit adds shutdown reason awareness into the the ring_app
repl.clj example, also made possible by changes from PE-3657.

This commit updates the `shutdown` core function to support
shutdown being called when the Jetty server was not fully started --
essentially avoiding an exception that would have been thrown during
shutdown because of the missing Jetty server instance on the service
context.

This commit includes two new references in the .gitignore file -- to
remain in sync with the Trapperkeeper project's .gitignore file.
(PE-3659) Added Jetty server validation to service `init` exception test

This commit adds an assertion to a test that no Jetty server instance was
attached to the service context when a dependent service throws an
exception during its `init` function.

The commit also adjusts the test description to validate what it is
actually doing around the validation of the Jetty server instance.
Merge pull request #26 from camlow325/maint/master/PE-3659-init-start-shutdown-sync-up

(PE-3659) Update Jetty shutdown processing for new TK release