Remove SELECT FOR UPDATE use in ML2 type driver release_segment

SELECT FOR UPDATE expression, which is triggered with the use of the
SQLAlchemy Query object's with_lockmode('update') method, is
detrimental to performance and scalability of the database
performance code in Neutron due to the lock contention it produces.

SELECT FOR UPDATE can be entirely avoided in release_segment methods
with the use of single-shot UPDATE and DELETE expressions, and this
patch clears a number of uses of SELECT FOR UPDATE by consolidating
multiple SQL expressions into one.

Partial-Bug: #1330562
Change-Id: I29ffcafc8d4d73ac1cb50c94df5da85514d47a3f
Allow setting a rootwrap cmd for functional tests

Previously, sudo-requiring functional tests hardcoded the use of
'sudo' as the root helper.  Devstack gate jobs do not allow
password-less invocation of 'sudo', though, so such tests were unable
to run in the gate.  This patch adds the ability to configure the
rootwrap command installed by devstack by setting the OS_ROOTWRAP_CMD
environment variable in the test execution environment, allowing
sudo-requiring tests to run.

Change-Id: I3b8f6b4f14ac1743e08b9401f73951885165350a
Partial-bug: #1336172
OVS agent: fix a comment on CANARY_TABLE

CANARY_TABLE is for br-int, not for br-tun.  Grouping it with
constants for br-tun tables together is misleading.  Move it into
a separate section and comment appropriately.  No functional changes.

Change-Id: Ic1aed992776a87ed77665b712de7ec3bd9dab397
Merge "Allow setting a rootwrap cmd for functional tests"
Merge "OVS agent: fix a comment on CANARY_TABLE"
Merge "Remove SELECT FOR UPDATE use in ML2 type driver release_segment"