(PDB-911) change to TK WebroutingService

This commit switches us from the TK WebserverService to the TK
WebroutingService. This will allow us to attach commercial-only routes by
modifying the config file before consumption by TK.
(PDB-1012) WIP Make spec tests use correct Puppet version

This patch parameterizes the branch of puppet our Gemfile installs so that we
can use specific puppet versions in our spec tests.
(PDB-1011) Allow querying of PDB directly via a TK service

This commit adds a function to the PuppetDBServer service to execute a
query and return the results as a Clojure data structure (rather than
streaming JSON over HTTP). A function can be passed in that will accept
a lazy seq to consume the rows
(maint) This fixes some broken links in our commands documentation.
Merge pull request #1141 from wkalt/ticket/master/pdb-911-routing-changes

(PDB-911) change to TK WebroutingService
Fix typo in the fact-contents endpoint docs
Merge pull request #1146 from wkalt/ticket/stable/pdb-1012-unit-tests-on-master

(PDB-1012) Make spec tests use correct Puppet version
Merge pull request #1151 from wkalt/maint/fix-command-doc-links

(maint) This fixes some broken links in our commands documentation.
(docs) JVM not Java

Switch the word 'java' here for 'jvm' since we are talking about the VM
not the language in this case.
(PDB-995) retire to_pson_data_hash in spec tests to conform to latest puppet

This commit changes calls of to_pson_data_hash to to_data_hash so that our tests
pass on the current master branch of puppet.
(PDB-971) retire facts.strip_internal

This patch adds a maybe_strip_internal method to Puppet::Node::Facts::Puppetdb
that will call Facts#strip_internal if the method exists, but Facts#values if
not. This will allow our terminus to remain backwards compatible when Puppet
retires the strip_internal method and the _timestamp fact.
Merge pull request #1153 from wkalt/ticket/stable/pdb-995-pson-retirement

(PDB-995) retire to_pson_data_hash in spec tests to conform to latest pu...
Merge pull request #1154 from wkalt/ticket/master/pdb-971-retire-facts-strip-internal

(PDB-971) retire facts.strip_internal
Merge branch 'stable'

* stable:
  (PDB-995) retire to_pson_data_hash in spec tests to conform to latest puppet
  (docs) JVM not Java
  Fix typo in the fact-contents endpoint docs
  (maint) This fixes some broken links in our commands documentation.
  (PDB-1012) WIP Make spec tests use correct Puppet version
(PDB-1020) Remove 'puts' statements from PuppetDB terminus
Merge pull request #1147 from senior/ticket/master/pdb-1011-pdb-query-from-service

(PDB-1011) Allow querying of PDB directly via a TK service
Merge pull request #1155 from cprice404/bug/master/PDB-1020-terminus-puts

(PDB-1020) Remove 'puts' statements from PuppetDB terminus
(PDB-207) Support extract as a top level query operator

Supports a single column or multiple columns, v4 only. Added tests for
facts, events, nodes, reports and resources
Created a new after-v3? test function to DRY up some version testing
Made query engine changes for factset/fact-contents/facts to support extract

The facts endpoints create projected columns in clojure code versus
having them projected via the database. Columns like value could
actually be populated from one of several columns and require additional
data (such as type). This commit allows this projection to happen in
clojure code after these new/different column changes have happened.