Refactor configuring of floating ips on a router

This approach to configuring floating ips is stateless and idempotent.
This allows it to handle corner cases, such as reusing a floating ip
address with a different floating ip id in a way that is easier to
understand.

The concept is to wipe the floating ips clean and rebuild them each
time with the following optimizations.  To avoid bad performance in
manipulating iptables, it is called in the context of a call to
defer_apply_on.  To avoid a disruption in network flow a set
difference is use to determine the set of addresses that no longer
belong on the inteface rather than removing them all blindly.

Change-Id: I0cfb58d487b1925e0a0db2a701c5ea3c56a0b2b5
Fixes: Bug #1209011
Removes unused nvp plugin config param

nvp_cluster_uuid is no longer used; it was missed
during the configuration file tweaks that was done
during Havana.

Closes-bug: #1251086
(cherry-picked from commit  Id6dd684833c99453cd97d88584be04d99fd21550)

Change-Id: Id6dd684833c99453cd97d88584be04d99fd21550
Fix TypeError: <MagicMock name='LinuxBridgeManager().local_ip'

This patch fixes an error that does not result in a test failure but
causes the following error to be logged in the test logs:

TypeError: <MagicMock name='LinuxBridgeManager().local_ip' id='666599248'>
is not JSON serializable

Related-Bug: #1234857

Change-Id: I65cdd997745d8b760031f8f32e3c10682ad2288e
(cherry picked from commit: d26dfed7d47926425bb55893da45f650d6549b9a)
Merge "Removes unused nvp plugin config param" into stable/havana
Merge "Refactor configuring of floating ips on a router" into stable/havana
Merge "Fix TypeError: <MagicMock name='LinuxBridgeManager().local_ip'" into stable/havana
Merge branch 'stable/havana' of https://github.com/openstack/quantum into havana/stable