(PDB-488) Add producer timestamps to factsets and catalogs.

This pull request adds a `producer-timestamp` field to the top level of
of the facts and catalog structures passed from the master to PuppetDB, along
with an accompanying database migration and index. Ultimately this field
or something inserted in its place will be populated by agent nodes and used
for an agent-relative record of time compatible with possibly divergent
master clocks in a multiple-master setup.
heaps more nil cases like this in the diff, I only ask because it might not shake up the paths we want to see. I don't have a problem, it just smells wrong.