Fix a data race between the dns_zone and dns_catz modules
The dns_zone_catz_enable_db() and dns_zone_catz_disable_db() functions can race with similar operations in the catz module because there is no synchronization between the threads.
Add catz functions which use the view's catalog zones' lock when registering/unregistering the database update notify callback, and use those functions in the dns_zone module, instead of doing it directly.
Closes #4132 (closed)