Do not assume order of lvm.tun_ofports set elements

This fixes the test_fdb_add_flows unit test that breaks with a randomized PYTHONHASHSEED
(see the bug report).

The test assumed that the lvm.tun_ofports set had
elements in a particular order. Found with PYTHONHASHSEED=2455351445 and
1595538922.

The fix sorts the actions output string so that it is always sorted when the
outputs are compared.

Partial-bug: #1348818

Note: There are several other unrelated unit tests that also break with a
randomized PYTHONHASHSEED, but they are not addressed here. They will be
addressed in separate patches.

Change-Id: I86b453a93f3ba09212709caf462cf3bfc5b21ee9
Add unique constraints in IPAvailabilityRange

first_ip, allocation_pool_id and last_ip, allocation_pool_id
should be unique in the table.
These constraints are essential to detect concurrent modifications
of the IpAvailabilityRange table if the SELECT ... FOR UPDATE
lock is removed

Change-Id: Iaf2288c0b6bf27e93c03691073d7f505ef24fdd3
Closes-bug: #1373015
Arista L3 Ops is success if it is successful on one peer

This fix checks to see if Arista HW is
configured in MLAG (redundant) mode. If yes,
as long as operation is successful on one of the
paired switches, consider it successful.

Closes-bug: 1373652

Change-Id: If929d3fcc109b81f4cf071380a1645d403feb363
Merge "Add unique constraints in IPAvailabilityRange"
Merge "Do not assume order of lvm.tun_ofports set elements"
Merge "Arista L3 Ops is success if it is successful on one peer"
Merge branch 'master' of https://github.com/openstack/quantum