(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.
Do we still want to keep this old behaviour of returning a singleton? Its just that it differs from all the other endpoints.