Race condition of L3-agent to add/remove routers

This race condition happens when repeatedly calling
l3-agent-router-add and l3-agent-router-remove
by different neutron-servers at the same time.

The primary key constraint is added for the pair of
(router_id and l3_agent_id).

During migration, verification is done if the current
records violate the PK constraint defined in this bug
fix, and sanitize the data before schema modification.

Due to different dialects of database engines, different
sql statements are executed correspondingly to do
the verification.

Change-Id: Ia541e023b757b2e77c4eec9bb1670632c7a271fa
Closes-Bug: #1230323
Fix deprecated opt in haproxy driver

If Neutron was updated from Havana, lbaas config file defines user_group
and loadbalancer_state_path in default section but since Icehouse these
settings were moved to haproxy section.
This patch adds DEFAULT group to DeprecatedOpt.

Change-Id: Ic92d4bc81ff6a3b16799414d17ac52e7a4801796
Closes-bug: #1349767
Check that router info is set before calling _update_arp_entry

Change-Id: Ieec6fb01a7d48bed1042114c27527fe6ec2555e0
Closes-bug: #1350028
Merge "Fix deprecated opt in haproxy driver"
Merge "Check that router info is set before calling _update_arp_entry"
Merge "Race condition of L3-agent to add/remove routers"