(SERVER-116) Reuse client instances

Reuse HTTP client instances in the ruby code rather than creating
a new one for every request.
Merge pull request #284 from fpringvaldsen/SERVER-116-reuse-client-instances

(SERVER-116) Reuse client instances
(MAINT) Update TK and Kitchensink dependencies
Merge branch 'master' into future

* master: (21 commits)
  (MAINT) Ensure gem subcommand tests honor GEM_SOURCE
  (maint) add config for admin API
  (SERVER-208) Improve error message for missing `puppet-admin` section
  (SERVER-114) /environment-cache header handling
  (SERVER-114) specify puppet.conf used by test
  (MAINT) Use GEM_SOURCE env var in Gemfile
  (SERVER-114) add comment about test coverage
  (SERVER-114) make API more RESTful
  (SERVER-114) endpoint to flush environment cache
  (maint) rename functions for clarity + consistency
  (MAINT) Add build & compare urls to travis template.
  (SERVER-167) Added language to syntax highlights
  (SERVER-138) Fixed typo
  Just fixing a spelling mistake
  (SERVER-203) Update to clj-http-client 0.4.0
  (SERVER-113) Add new puppet-admin-api HTTP endpoint
  (SERVER-167) Add documentation on `set_trace_func`
  (SERVER-113) Refactor whitelist logic out to ringutils
  (SERVER-138) Set name of doc section to HttpPool-Related Server Settings
  (SERVER-138) Addressed PR feedback
  ...

Conflicts:
	src/ruby/puppet-server-lib/puppet/server/http_client.rb
(maint) delete a couple unused functions
(SERVER-88) catch errors before they get to Jetty

Add a 'catch-all' middleware to both the Master and CA ring handlers
which catches any Exception, logs it, and returns a simple error message
in the response body.  This prevents Exceptions from propagating all the
way out to Jetty - if this happens, Jetty will generate HTML from the
stacktrace and return this to the client.
(SERVER-88) improve exception handling

* 'wrap-exception-handling' now includes the exception type + message in
  the response body it returns.

* Update the exception handler in the liberator resources to simply
  re-throw exceptions, causing them to be handled in middleware.
(maint) fixup botched merge conflict resolution
Merge pull request #296 from fpringvaldsen/update-to-tk-1.0.1

(MAINT) Update TK and Kitchensink dependencies
fix typo in docstring
Merge pull request #285 from KevinCorcoran/SERVER-88/no-html-in-500s

(SERVER-88) catch errors before they get to Jetty
Merge branch 'master' into future

* master:
  lein-release plugin: bumped version from 0.4.1 to 0.4.2-SNAPSHOT for next development cycle
  lein-release plugin: preparing 0.4.1 release
  (MAINT) Add some notes about debugging / ruby
  (MAINT) Fix typos, simplify git submodule init for quickstart
  (MAINT) Update developer docs re: running from source
  DOC-1281: Puppet Server gems, puppetserver_vs_passenger
(SERVER-250) Document jruby-pool Admin endpoint

Document the new jruby-pool endpoint that was recently added
to the HTTP Admin API.
Merge remote-tracking branch 'origin/master' into future
(SERVER-231) Release story for 1.0.0

This commit moves the CHANGELOG into the documentation subdirectory
and renames it in concordance with the techpubs team's standards.

I also added a note to the 1.0.0 section announcing our semver
adherence and created a link to the JIRA release page.
(SERVER-256) Fix failing FOSS upgrade smoke test.

* This adds a method, package_upgrade, which always upgrades the given package
  regardless of whether there are changes both to the new version of the config
  file and to the previously-installed version.
* Also removes the puppet_server_name parameter on install_puppet_server which
  is unnecessary since as it turns out there is only actually one package name
  for puppet_server.
* Also removes some completely dead code which attemptes to modify
  SERVICE_NUM_RETRIES in puppetserver's defaults file. This variable is no
  longer used.
(MAINT) Version bump before release
Merge pull request #328 from dankreek/MAINT/version-bump-1.0.0

(MAINT) Version bump before release
(MAINT) Bumped to version 1.0.0 for release
(SERVER-211) Update JRuby to 1.7.17 and fix String::crypt

Versions of JRuby prior to 1.7.17 used an old, DES-only implementation
of String::crypt. With 1.7.17, it switched to the native crypt(3)
implementation, bringing it in line with MRI.