Merge branch '1.6.x'

* 1.6.x:
  PDB-273 Fix stubs for HTTP tests to stub a higher level
  Update version docs to include a bogus version string
  Update documentation headers for 1.6.x
  Change from reduce to inject for ruby 1.8.5 compat
Merge remote-tracking branch 'upstream/1.6.x'

* 1.6.x
  (PDB-107) Support chained CA certificates
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
(PDB-254) Change benchmark to mutate catalog resources and edges send a defined number of messages

Previously benchmark.clj when it would mutate a catalog would only
add a single resource.  This change will add a new resource or
mutate a random existing resource.  It will also add a new or
change an existing edge.  One of these four mutations is picked
at random.  This commit also adds a new parameter to benchmark.clj
to allow the syncronous sending of a specified number of commands
(per host) via the -N argument
Fixed report submission part of benchmark to change the start/end time
and config version