Validate loadbalancing method when updating a pool

Validate the input for the lb_method and avoid DBIntegrityError.

Change-Id: Iea3d464abdeb1ed377db2453581124742f9fb0ac
Closes-Bug: #1390078
Implement migration of legacy routers to distributed

This patch addresses the necessary changes required
for the router migration or conversion from legacy
to distributed.

The _update_router_db() method was modified to add
logic to support the SNAT functionality of DVR by
calling create_snat_intf_ports_if_not_exists().  A
call to _unbind_router() was also called to force
the scheduling of the router with 'distributed'
enabled.

Right now we will be supporting migration from legacy
to distributed only.

Closes-bug: #1348309
Partially-implements: blueprint neutron-ovs-dvr
Co-Authored-By: Michael Smith <michael.smith6@hp.com>
Change-Id: I6f252271bb5b52ce57184ad7b0bf1ce280b965fb
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I5c09254010381a649e732982a8a2462802c379ee
Merge "Imported Translations from Transifex"
Merge "Validate loadbalancing method when updating a pool"
Merge "Implement migration of legacy routers to distributed"
Merge branch 'master' of https://github.com/openstack/quantum