Port PuppetDB to run on trapperkeeper

Conflicts:

	project.clj
	src/com/puppetlabs/puppetdb/cli/services.clj
	src/com/puppetlabs/puppetdb/config.clj
	test/com/puppetlabs/puppetdb/fixtures.clj
	test/com/puppetlabs/puppetdb/test/config.clj
Introduce `error-shutdown!` function for handling fatal errors

This commit does the following:

* Introduces a `context` atom in services.clj, whose value is a
  map used to keep references to the various stateful bits of
  the PuppetDB subsystems.  This is something that has been
  discussed previously as a means for potentially allowing more
  interactive development in the REPL, and for doing things
  like dynamically reloading subsystems when configuration
  changes occur.  In this commit, it's used to provide a way
  to shutdown those subsystems when a fatal error occurs.

* Adds the new `error-shutdown!` function, which is responsible
  for shutting down threads and subsystems from the `context`
  when a fatal error has occurred.
Add environment variable to allow SNAPSHOT dependencies

By default, leinengen doesn't allow SNAPSHOT dependencies when
running `uberjar` on a project that is not also a SNAPSHOT.
Because of the way that we handle the project version in the
PuppetDB project.clj file, PuppetDB is *never* in a SNAPSHOT
state.

This commit adds an environment variable that will cause
leinengen to allow SNAPSHOT deps, but only when running
acceptance tests FROM SOURCE.  Packaging jobs should still
fail if this kind of scenario is encountered for now.
Properly handle cli! errors
Properly handle cli! --help
Hit actual endpoint to see if PuppetDB started
Update to released versions of deps, use new cli exceptions

This commit does the following:
* Update to a released version of trapperkeper
* Update to a released version of kitchensink
* Change cli error handling to use new namespaced keywords
Add clarifying comments to `bootstrap.cfg`
Remove SNAPSHOT dependency from test profile
Change trapperkeeper docs link to point to head of 0.1.x branch
Remove unused Jetty configuration

Web server configuration is now handled by trapperkeeper.

Conflicts:

	src/com/puppetlabs/puppetdb/config.clj
Remove unused dependency on ring-jetty-adapter
Merge pull request #780 from cprice404/feature/master/pe2015-refactor-to-trapperkeeper

Refactor to trapperkeeper