(PDB-550) Update puppetDB docs to include info on LibPQFactory

Prior to this commit, the docs only enabled ssl for postgresql
connections. This commit changes the docs to add a few extra lines in
the database.ini file to use host cert/key and CA cert for verification
with ssl.

This commit also shows how PDB-550 can be accomplished, since it loads
PEM files and uses SSL without the use of keystores (yay!).
Merge pull request #1017 from briancain/maint/master/modify-psql-ssl-docs

(PDB-550) Update puppetDB docs to include info on LibPQFactory
(PDB-747) Initial schema for structured facts support

This patch adds an initial schema for structured facts support.

Signed-off-by: Ken Barber <ken@bob.sh>
(PDB-708) Structured fact storage

Here we add the initial work required to start storing structured facts in
its new schema.

Signed-off-by: Ken Barber <ken@bob.sh>
(PDB-708) Migrate from old facts schema to new structure aware schema

This changes the structured-facts migration to move data from the previous
schema to the new.
(PDB-745) Structured facts garbage collection

This updates the garbage-collect! function to accomodate the new schema.
(PDB-708) Add backwards compatible querying capability for facts

This patch fixes our queries so that the old facts end-point still returns
facts.

It uses the new schema, but is only able to display items at the top level
for now. It does this by checking a depth column we populate upon command
submission to fact_paths.

As a consequence of this change, it creates some question about backwards
compatibility. For now I'm reverting the change to unstringify the facts
at the terminus so the old behaviour is still kept end-to-end.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #1019 from kbarber/ticket/master/pdb-708-structured-fact-storage

(PDB-708) Structured fact storage
Allow empty arrays and hashes in structured facts

We were getting validation errors in factmap-to-paths code due to the lack
of proper handling for empty hashes and arrays. This patch drops those branches
quickly and now moves onto the next element.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #1021 from kbarber/maint/master/allow_empty_hashes_and_arrays_in_sfacts

Allow empty arrays and hashes in structured facts
got some of the json "restructuring" stuff done, need to connect it with
data coming from the DB

Rename factset app from copy/paste problem
(PDB-711) Add factsets endpoint to V4 PuppetDB API

This pull request adds the /factsets endpoint specified in the
"Structured Facts Design and Plan" document circulated to Puppet-dev
on June 30.  The response is a list of maps, each describing the
facts, environment, and time of most recent fact submission for
an agent node.
(PDB-711) Add factsets endpoint to V4 PuppetDB API

This pull request adds the /factsets endpoint specified in the
"Structured Facts Design and Plan" document circulated to Puppet-dev
on June 30.  The response is a list of maps, each describing the
facts, environment, and time of most recent fact submission for
an agent node.
(PDB-712) Modify export to accomodate structured facts.

This pull request changes the export procedure to allow the export of
structured facts.