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
Remove unused settings relating to queued commands

Some time ago, we did some investigatory work around the possibility
of queueing failed commands to disk on the master and trying to
re-send them to puppetdb later.  This work ended up being scrapped
due to complications relating to the unpredictable threading/process
model for the environments that the puppet master might be
deployed in.  However, it appears that we failed to remove one of
the configuration settings that had been added in support of that.
Use file/line even during skipped events
Merge branch '1.4.x' into burgundy

* 1.4.x:
  (maint) Remove legacy ssl-setup tests during upgrade
Merge pull request #596 from cprice404/maint/burgundy/get-rid-of-unused-queued-command-settings

Remove unused settings relating to queued commands
Bump up report format in exporter
(PE-957) Filter out default "skipped" Schedule events

In versions of puppet prior to 3.3, every single agent run
will generate a swath of skipped Schedule events, which
are not useful and clutter up the reports data in PuppetDB.

This commit adds some "blacklist" functionality, whereby
certain well-known events can be filtered in the PuppetDB
report processor before being sent up to PuppetDB, so
they won't be stored.

There is a configuration option that can be used to
disable the blacklist, just in case these events are meaningful
to some set of end-users.

The blacklist is hard-coded for now and only contains the list
of skipped Schedule events that are well-known.
(PE-957) port `to_bool` logic over to match puppet's impl
Anonymize source file/line
Comment cleanup and add validation precondition
Event query endpoint file/line documentation
Merge pull request #600 from shakedown/dev/master/pe959-file-line-stuff

(PE-959) Store file/line information
Merge pull request #597 from cprice404/feature/burgundy/PE-957-filter-skipped-schedule-events

Feature/burgundy/pe 957 filter skipped schedule events
(PE-957) Fix spec so that it doesn't assume array order

One of the tests for filtering blacklisted events was
assuming that the array of events returned by `report_to_hash`
would always be in the same order; in fact, the order
differed between ruby 1.8.7 and ruby 1.9.3.  This commit
changes the test so that it doesn't assume a specific order,
since the order doesn't really have anything to do with
what we're testing.
Merge pull request #602 from cprice404/bug/burgundy/PE-957-spec-assumed-array-order

Bug/burgundy/pe 957 spec assumed array order
(PE-962) Add schema for flagging latest report per node

This commit adds a new table for storing data about which
report was the most recent for each node.  This will make
it easier to write event queries that only return events
from the last puppet run for each node.

The migration code also has to populate this new table for
all of the existing data.  The commit includes tests
to validate that migration code.