extract deep_merge into Puppet_X::Richardc::Datacat
(#3) make the datacat_collector ensurable

This moves the work of the datacat_collector from a flush operation into the
exists? method of an ensurable type.  This means the datacat_collector doesn't
look like it's changing simply because it collected the data, so second
applications of a datacat are idempotent.
we don't need a puppet master for these tests