Moved more config defaulting code from services.clj to config.clj
Added a first cut at using Prismatic Schema for validating, defaulting and converting user specified config
Added a bunch of schema tests, moved more config from config.clj over to
schema, more defaulting from jdbc.clj
Added Prismatic style pragmas and an ns level doc string
Removed an old commandproc config function
PDB-68 Differential edges

This patch changes edge behaviour so that instead of continually
inserting new content, and then providing a GC periodically it
instead does the inserts/deletes for a particular certname.

While this is a slight step backwards for providing deduplication
this is better then what we have today. Before this patch every new
catalog would have to insert a whole set of new edges, the old ones
to be purged later.

Instead now we read the current edges for the certname in question,
and then do a conditional insert/delete on any differences - doing
nothing if the rows already exist. This means that if only 1 edge
was added since the last catalog update, only 1 insert occurs.

To facilitate this we have had to modify the schema for the 'edges'
table so a migration has been provided for this. Now the edges
table is referenced directly to the certnames table. In the future
once we apply differential handling for resources we can rehome it
back to a catalog, but since today we don't support more then 1
catalog logically to a certname the only downside is the larger
foreign key (certname is a txt field versus the catalog_id it used
to have).

Tests have been added to ensure concurrency retries work, and that
only the necessary SQL is performed.

As concurrency is now a greater issue we have found a bug with
the postgresql driver and BoneCP whereby during serialization exceptions
(which are just a natural part of concurrency) the transactions
are not closed after the 'test' SQL made to the database by BoneCP.

The simple work-around is to basically explicitly do a begin and
commit around our own SQL statement.

Signed-off-by: Ken Barber <ken@bob.sh>
(PDB-81) - Adding a JDK 1.6 deprecation warning message

Adding a warning message to the console and the logs.  The bootstrapped
default logger is logged when the user provided log config is not there
(such as invoking the version command). It's then logged in services.clj
as well (after the logging config would have been applied).

Also made some some changes to c.p.p.core.clj to allow testing of the
main launch function (and the deprecation messages).
Remove try/catch for with-transaction and use only wire-format for testing catalog concurrency

This patch removes the try/catch as a 'premature' idea for now, in favour of
doing this at presentation level (in commands perhaps) so we can capture both
exceptions as its been noticed the combination of exceptions is often required
versus just one.

It also fixes tests for concurrency updates, by using the wire-catalog only
from examples (we were using the non-wire one in their also but turns out they
were not exactly the same). And now that we no longer get the inner exception
with the try/catch removal above, the regexp needed ammending.

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

PDB-68 Differential edges
(maint) Add fedora 20 to mock list
Remove unused `test:package` rake task

There was a rake task that was referencing some old packaging
code that was deleted during Operation Snowmelt.  This commit
removes that task.
Merge pull request #775 from cprice404/maint/master/remove-unused-rake-test-package-task

Remove unused `test:package` rake task
Merge pull request #774 from melissaanne/maint/master/add-fedora-20

(maint) Add fedora 20 to mock list
Merge pull request #771 from senior/ticket/master/pdb-81

(PDB-81) - Adding a JDK 1.6 deprecation warning message
Debugging a CI server failure
Revert "Debugging a CI server failure"

This reverts commit 036ea8955dc288d0eecbd41f425a54c8f65bb3e5.
Switch to puppetlabs/tools.namespace 0.2.4.1 with a fix for directories
that contain a space
Move more connection pool config out of jdbc.clj and into
config.clj (using Schema)
Updated docstrings to clarify args, renamed convert-ini-map-config fn in config.clj
Merge pull request #759 from senior/ticket/master/pdb-102-config-schema

Using Prismatic Schema for validating/defaulting/converting user config