Issue 51000 - Separate the BDB backend monitors
Bug Description: While trying to remove duplicate code from the backend
and BDB backend code, I found that we were not correctly
separating the BDB monitors from the core backend code.
Fix Description: Move all the monitor registering to the db_layer private
structure. This way we have fully isolated the monitors
for each backend implementation/library. This also removed
some duplicate code from the core backend and BDB code.
relates: https://pagure.io/389-ds-base/issue/51000
Reviewed by: spichugi(Thanks!)
(cherry picked from commit ed5b13cab68f82ae6a1abe03bf41eb7369c30f2c)