(PDB-1028) Make /v4/catalogs queryable

This expands the /v4/catalogs endpoint to have full query and paging capacity,
and brings the catalogs endpoint into the query engine like the others, which
will be useful for syncing and future consistency. This patch changes the /v4/catalogs response to be a list and changes the response schema to include a hash key.
that's fine with me -- I had been thinking this way would be more consistent with returning an empty list in the no-match case. I think if we're returning a map that should be a json message like it is right now.