Add leinengen pedantic flag

This flag causes leinengen to be very strict about resolving
transitive maven dependencies. If we introduce any conflicting
versions, it will cause basically all leinengen commands to
fail until we've fixed them.
Merge pull request #760 from cprice404/maint/master/add-lein-pedantic-flag

Add leinengen pedantic flag
Add a migration for historical fact storage

These tables will now house the fact values. This particular migration
is taking place to enable deduplication of fact storage when temporal
configuration is activated and users want to historically store all
fact values.
Make facts, facts_metadata migration portable with HSQLDB
Look at abstracting 'facts' at the record layer

This way all of the respective logic for other records can be hidden
away as common sets of functions such as save, update and delete.
Save a Fact record to the database

Given a Fact record of the form (Fact. name value timestamp certname)
saves it to the database when the (save! ...) function is called on
the record.

This will provide the abstraction required for splitting out the
'command' layer and the 'query' layer, but still providing a
nicer (interfaced) data structure to play with on either side.
Only inserts metadata when a fact (name, value) already exists

This is the first step towards actually getting historical facts
working. To reduce on space utilisation keep the facts database as the
store of name/value pairs and have the temporal reference kept in the
facts_metadata table.
Provide more explicit grouping of tests