Ticket 47931 - memberOf & retrocl deadlocks
Bug Description: When concurrently updating multiple backends the
memberOf and retrocl plugins can deadlock on each
other. This is caused by the required retrocl lock,
and the db lock on the changenumber index in the
retrocl db.
Fix Description: Added scoping to the retrocl that allows subtrees/suffixes
to be included or excluded. Also moved the existing
memberOf scoping outside of its global lock.
Also improved the memberOf config copying to be consistent
and more efficient. Improved the memberOf scoping attributes
to be multivalued. And, properly valdiated new config
settings in the preop valdiation function, instead of the
"apply config" function.
https://fedorahosted.org/389/ticket/47931
Valgrind: passed
Reviewed by: nhosoi(Thanks!)