Changes subnet selection to reduce deadlocks

RM10449

Updates the subnet selection logic in IPAM in several places to account
for accidentally locking the subnets table as a side-effect when selecting
  IP addresses.
Removes superfluous pessimistic connection code

Removing RM9078

Updates the quark db layer to remove pessmistic connection handling,
added by RM9078. The code was put in place to provide assistance around a
perceived bug at the time, but was never utilized and was also not the
source of the issue. Most importantly, oslo.db already provides
identical functionality, so the original patch was a waste.
Adds configurable semaphore synchronization

RM10494

Updates quark/ipam.py to have configurable sempahore synchronization
after testing proved favorable in multiple environments.
Merge pull request #276 from Cerberus98/RM10449_upstream

Changes subnet selection to reduce deadlocks
Merge pull request #278 from Cerberus98/remove_pessimistic_connections

Removes superfluous pessimistic connection code
Merge pull request #277 from Cerberus98/RM10494

Adds configurable semaphore synchronization
Removes a portion of the tenant_id filter clause

RM10527
Merge pull request #279 from Cerberus98/master

Removes a portion of the tenant_id filter clause