Bump version to 0.5.2-SNAPSHOT for development
Add JSON utils from PuppetDB, with tweaks.

All functions and tests have been carried over, though instead of
registering the org.joda.DateTime encoder when the namespace is
evaluated, it is now up to the consumer to explicitly call
`add-common-json-encoders!`. A new macro, `with-datetime-encoder`,
allows you to override the default datetime encoder with your own while
evaluating the macro's body.

The generate-string and generate-stream functions have type hints in
order to avoid introducing more reflection than the cheshire generate-*
functions do.
Add deep-merge, deep-merge-with, and tests.

These differ from merge in that they will recursively merge maps that
appear at the same key for multiple merged maps, instead of just
replacing the maps wholesale with the last value (like merge does).
Merge pull request #31 from aperiodic/json

Add JSON Utils from PuppetDB
Merge pull request #33 from aperiodic/deep-merge

Add deep-merge & deep-merge-with
Return summary data from cli!

Prior to this commit, the banner/summary data generated by
the upstream `parse-cli` function was not being returned as part
of the result of our `cli!` function.  This meant that if a user
wanted to do some additional validation of the cli arguments
(such as validating extra arguments that are left over after the
options parsing), they had no way to print the help message
if that validation failed.

This commit changes the code to return that summary data
in addition to the other data it was already returning.
It also improves the test coverage and docstring.

The changes should hopefully be backwards-compatible.
Utility functions to create SSLContext et al from pems

We are starting to see more and more places in the code of other
projects where we need to read in the three common puppet PEM
files (cert, key, ca cert) and return KeyStores representing
the key/trust store, or SSLContext objects for use in
various SSL initialization code.  This commit simply adds
functions to perform these services.  Downstream projects
that contain similar variants of this code should be updated
to use these.
Merge pull request #34 from cprice404/maint/master/PE-2847-cli-should-always-return-summary

Return summary data from cli!
Change API for new functions to use positional args
Merge pull request #35 from cprice404/feature/master/PE-2849-pems-to-key-and-trust-store

Utility functions to create SSLContext et al from pems
Release notes for 0.5.2 release
Added lein-release plugin reference
lein-release plugin: preparing 0.5.2 release
lein-release plugin: bumped version from 0.5.2 to 0.5.3-SNAPSHOT for next development cycle
Update deploy script to use jenkins build parameter
Add macro for running a block of code w/o jvm shutdown hooks
Raise error on duplicate config entries

Prior to this commit, if a setting appeared more than once in
a section of an inifile, the last appearance would silently "win".
Further, when calling inis-to-map and pointing it at a directory
of ini files, we were sorting the files by name, and if a section
appeared in more than one file then the final config would contain
the section as it appeared in the file that was read last.  This
required the user to know that we were sorting in this fashion,
and also to understand details of the sort (such as how upper
case was sorted compared to lower case).

This behavior required the user to have a fairly intimate
understanding of the algorithm, and did not give the user any
indication when collisions occurred.  It seems more likely that
if a setting appeared in multiple places in the config, that it
was simply a mistake / accident on the part of the user.

This commit changes the behavior in the following ways:

* If a section appears in more than one ini file, the final
  configuration contains a merge of the contents of all of the
  appearances of that section.
* If duplicate occurrences of a setting occur within a given section
  (either in a single ini file or across two ini files), an error
  is raised indicating where the duplicate setting occurred.
Merge pull request #38 from cprice404/inifile-collisions

Raise error on duplicate config entries
Merge pull request #37 from cprice404/feature/master/with-no-jvm-shutdown-hooks-macro

Add macro for running a block of code w/o jvm shutdown hooks
0.5.3 release notes