Assemble the data during flush

The previous iteration relies on each of the fragments being evaluated before
the collector, and adding a copy of their data in the central repository of the
Puppet_X::Richard::Datacat module.  This was going to be leaky in a persisent
environment, and feels like a little too much work in terms of evaluating a
bunch of resources.

With this way around we do a catalog scan for datacat_fragment pieces
that refer to the collector as the collector is flushed, which should mean the
data only exists in it's merged state when we need it, and also there's nothing
to track and tidy up after the run.