(SERVER-112) Add support for flushing environment cache

This commit introduces a new class that we can plug in to the
recently-added Puppet extension point for controlling the
eviction of entries from the directory environment cache.

It also introduces all of the corresponding plumbing that
we need on the clojure side in order to make it work.  This
includes some additional state that we need to track on each
JRuby instance to keep track of the staleness of individual
environments.

Lastly, it introduces some integration tests that actually
set up the puppet code on disk and make catalog requests
against the server to validate the caching behavior.
(SERVER-138) Created puppet.conf differences doc

This commit introduces a new document which contains some information
about the differences in supported settings from the `puppet.conf` file
for Puppet Server as opposed to the Ruby-based Puppet master.
(SERVER-138) Addressed PR feedback

This commit addresses some PR feedback, including:

* Reworded the language in the `ca` setting
* Added a note to the `configtimeout` setting about how Puppet agents
  still honor the setting
(SERVER-112) Clean up based on PR review

This commit renames 'stale' to 'expired', cleans up some comments,
adds a few additional tests, and fixes the ruby spec tests.
(SERVER-113) Move to tk-j9 webrouter service
(SERVER-112) Fix remaining reference to clojure.pprint
Merge pull request #270 from cprice404/feature/master/SERVER-112-env-cache-flush-service

(SERVER-112) Add support for flushing environment cache
(MAINT) Make user repl config dynamic

This commit modifies `user_repl.clj` and the sample `user.clj`
file to use a function instead of a var for the user-provided
config.

Prior to this, the config was read from disk as a var when the
REPL was first launched, and never re-loaded after that.  This
meant that doing a `reset` would not pick up changes you might
have made to the config files on disk; you needed to restart
the REPL to pick up those changes.

Now, the user config is acquired via a function call, which
means that your config files will be reloaded each time you
call `reset`.
(SERVER-151) Move environment fns from jruby-testutils to service

We originally defined some functions for interacting with the
environment cache state in jruby-testutils.  This commit moves
the logic into the `JRubyPuppetService` instead; this will be necessary
in order to wire up the HTTP endpoint, since we will only have
access to the service and not to the entire TK app.
Merge pull request #274 from cprice404/feature/master/SERVER-113-move-to-webrouter-service

(SERVER-113) Move to tk-j9 webrouter service
(MAINT) Fix bugs in webrouting config

There were a few minor issues with the default config I provided
for the webrouting service.  This commit should fix them.
(MAINT) rename jvm-puppet-conf to puppet-server-conf
Merge pull request #278 from cprice404/maint/master/fix-webrouting-bugs

(MAINT) Fix bugs in webrouting config
Merge pull request #276 from cprice404/maint/master/dynamic-user-config

(MAINT) Make user repl config dynamic
Merge pull request #277 from cprice404/feature/master/SERVER-151-flush-env-cache-from-service

(SERVER-151) Move environment fns from jruby-testutils to service
(SERVER-138) Set name of doc section to HttpPool-Related Server Settings

This commit changes the name of the last section in the new
`puppet_conf_setting_diffs.markdown` doc to `HttpPool-Related Server
Settings`.
(SERVER-113) Refactor whitelist logic out to ringutils

We are going to use the same whitelist logic for the new admin
endpoint that we were using for the cert-status endpoint.  This
commit refactors the logic out to the common ringutils namespace
so that we can access it from the new code.
(SERVER-167) Add documentation on `set_trace_func`

This commit adds some documentation on the use of the Ruby
`set_trace_func` function in the JRuby environment to trace events in
Ruby code when running in Puppet Server.
(SERVER-113) Add new puppet-admin-api HTTP endpoint

This commit adds a new TK service and HTTP endpoint for puppet
admin functionality.  For now, it just has a placeholder
"/hello" route, but the scaffolding is in place for wiring
in the real functionality, including:

* Support for client whitelist configuration
* Versioned routes (just /v1 for now)
(SERVER-203) Update to clj-http-client 0.4.0

This commit updates Puppet Server to utilize puppetlabs/clj-http-client
version 0.4.0.