NVP: Add LOG.exception to see why router was not created

Add missing LOG.exception so that it exposes what error occurred.

Change-Id: I9194795678a6be59eb1d2555dfa99ca7a035c418
Closes-bug: #1269152
Use an independent iptables lock per namespace

Since iptables is independent from namespace to namespace, it makes
sense to use an independent lock per namespace.  This improvement is
aimed at improving the parallel performance in the L3 agent.

Partially implements blueprint: neutron-tempest-parallel

Change-Id: I15e9c9da9a7c15981757a09bc744501722d62db2
Base ML2 bulk support on the loaded drivers

Changes the ML2 plugin bulk support flag to
be based on the bulk support of the underlying
drivers.

Closes-Bug: #1272490
Change-Id: I28281c9ecc1696b929c7e0125d02a37946948744
Configure floating IPs addresses after NAT rules

Change the behaviour of the L3 agent in order to set the IP addresses
for the floating IPs on the external gateway interface after the
relevant NAT rules have been applied.
This will avoid a transitory period in which the floating IP exists
and is reachable but it not yet wired to the actual target.

Partial-Bug: #1265505

Change-Id: Ib382fde021868bab2185f2fa5bdee86559148ba7
Merge "Base ML2 bulk support on the loaded drivers"
Merge "NVP: Add LOG.exception to see why router was not created"
Merge "Use an independent iptables lock per namespace"
Merge "Configure floating IPs addresses after NAT rules"