(PDB-69) Differential updates for catalog_resources

This commit combines catalogs and certname_catalogs tables and adds differential updates for certname_catalogs similar to the current fact and edges code.

I spent some time refactoring both tests and implementation of the differential stuff.  It still seems a little messy, especially in the tests, but nothing else was jumping out at me as an easy refactor.