Feature/burgundy/pe 962 save last run info

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; includes tests
to validate that migration code.

Also adds the code to update the new table every time
a new report is stored, and tests to verify that this
behavior works as expected.