Add puppetdb-anonymize tool

This patch adds a new tool 'puppetdb-anonymize' which provides users with a
way to anonymize/scrub their puppetdb export files so they can be shared
with third parties.

Signed-off-by: Ken Barber <ken@bob.sh>
Correct minor code review items

Signed-off-by: Ken Barber <ken@bob.sh>
Add --config parameter to accept a clojure formatted custom profile file

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #575 from shakedown/dev/master/test-fixes

Dev/master/test fixes
Merge pull request #558 from kbarber/anonymized_exports_config

Add puppetdb-anonymize tool
Extract constants for all command names
Updated store-report command to a multimethod

We will need to support multiple versions of the store-report
command for Burgundy since we're changing the wire format.

This commit simply re-works the existing store report command
to use a multimethod, and introduces v1 of the multimethod.
This commit does not introduce a v2 implementation of the
multimethod yet.
Introduce v2 of store-report command
(PE-959) Save resource event file/line properties

Prior to this commit, the file and line properties that exist on a
resource event were not being saved down to PuppetDB during report
processing. This commit changes that so we can show that information
in Burgundy.
Bump up report version to 2