PDB-402 Remove ahead-of-time compilation

This patch removes AOT compilation from our leiningen project and updates
all relevant shell scripts to use the non-AOT methodology for invoking
clojure projects.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #871 from kbarber/ticket/master/PDB-402

PDB-402 Remove ahead-of-time compilation
PDB-476 Decorate the terminus code with Puppet profiling blocks

This patch adds some select profiling blocks to the PuppetDB terminus code.

The profiler is provided by puppet core from Puppet::Util::Puppetdb#profile,
which has recently become public for our use. We provide here in our own utils
library our own wrapper implementation that can be mixed in.

Key areas of our terminus functionality have now been profiled with this
patch:

* Entry points are profiled and identified by their entry methods (save, find,
  search etc.)
* Remote calls, HTTP gets/posts
* Code that does any form of encoding/decoding that might be potentially slow
  at capacity.

The style of messages I've used follow along with the existing Puppet profiling
examples already in place so as to be readable together. We have prefixed our
profile message with "PuppetDB" for easy searchability also.

I have provided a small FAQ entry that explains in brief the process of
debugging, although we lack something to link to in Puppet for a more detailed
explanation. This will probably need to be fixed if better documentation comes
available.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #872 from kbarber/ticket/master/PDB-476-terminus-profiling

PDB-476 Decorate the terminus code with Puppet profiling blocks
Unpin beaker now that 1.7.0 is released

We had a pinned version of beaker. This patch unpins it now that the code that
we need has been released.

Signed-off-by: Ken Barber <ken@bob.sh>
Port to trapperkeeper 0.3.4

This commit updates PuppetDB to use the new trapperkeeper 0.3.4
API.  This includes:

* Slightly modified syntax for defining services and service
  lifecycle behavior
* Switch from log4j to logback, update documentation and packaging
  accordingly
* Switch from jetty7 to jetty9
* Add example of how to use "reloaded" interactive development pattern
  in REPL
* Upgrade to kitchensink 0.5.3, with bouncycastle fix for improved
  HTTPS performance

Conflicts:

	project.clj
	tasks/template.rake
	test/com/puppetlabs/puppetdb/fixtures.clj
	test/com/puppetlabs/test/http.clj
Add back in the placeholder log4j.properties.erb
Add `modify_config_setting` helper method for acceptance

Prior to this commit, a lot of the acceptance tests were
written to just concatenate new config settings to the
end of the config files.  This relied on the old config
behavior where we allowed multiple occurrences of the
same config setting, and the last occurrence would win.

This commit adds a helper method that uses the inifile
module to modify the settings in place, rather than
adding duplicate copies of them.  It also updates
all of the tests that were written using the concatenation
pattern to use the new method instead.
Update CLI tools to use new form of specs for args
Merge pull request #826 from cprice404/maint/master/upgrade-to-trapperkeeper-0.3

Port to trapperkeeper 0.3.0
Merge pull request #873 from kbarber/maint/1.5.x/unpin-beaker

Unpin beaker now that 1.7.0 is released
PDB-470 Provide new db setting 'statements-cache-size' with a default of 1000

This setting adjusts how many SQL prepared statements get cached via BoneCP.

By using this setting we've seen an almost 40% decrease in wall clock time it
takes to store a new catalog.

This patch adds the new configuration item as a user configurable one, with a
default set to 1000 for now. Documentation has also been added for this
setting.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge branch '1.5.x' into 1.6.x

* 1.5.x:
  Unpin beaker now that 1.7.0 is released
Merge branch '1.6.x'

* 1.6.x:
  Unpin beaker now that 1.7.0 is released
(PDB-221) Add facts to import/export

This commit imports/exports facts similar to how we currently import/export
catalogs and reports. Anonymize doesn't currently work for facts, which is
going to be added separately.
Merge pull request #874 from kbarber/ticket/master/PDB-470-setStatementsCacheSize

PDB-470 Provide new db setting 'statements-cache-size' with a default of...
Aded Archlinux build/install support
Merge pull request #876 from aboe76/master

Aded Archlinux build/install support
(maint) Add RHEL7 to list of mocks to build against

Only adding for RHEL7 x86_64, since there is currently no 32-bit RHEL7 platform.
Added support for exporting facts/reports when
no catalog has been persisted for the given node