Remove long db transaction for metadata access network

Bug 1204277

Removes nested transactions wrapping plugin ops, and adds
rollback code where required.
Also ensures NeutronPlugin.py does not attempt to remove router
ports twice.

Change-Id: I299d4ed688a70b6dff506c999355661cf783ae26
Fixes files with wrong bitmode

Some modules have bitmode 755. Changed to 644

Change-Id: Ic91854ac2b46cb8c9b46eb575f5cfb9cce056670
Do not call remove_router_lport in remove_router_interface

Bug 1211149

The call will cause a failure as the router port is already removed
by _nvp_delete_router_port.
This patch also add the support on the fake nvp api client to verify
this kind of condition.

Change-Id: Ieb5ca5c239ccc993b96dd5bad0b412211b45417e
Restore Babel to requirements.txt

Babel is needed by code synced in from oslo-incubator, namely
neutron.openstack.common.gettextutils.

Fixes bug #1212135

Change-Id: I7f490fb8cf9a4fcba1711cf464f934d60d6d435e
LBaaS: throw proper exception on duplicating monitor association

Fixes bug 1208728

Change-Id: I6cf27766eedff34a6ed5062a50b049ab0a5bf96a
Add metering extension and base class

This a part of the blueprint bandwidth-router-label

This patch initiates the blueprint by adding base class
to associate labels and metering rules to tenant's routers.

Change-Id: Ia93b49d881e79c3291730cff7b80f26c56fedb48
Mock os.makdirs to avoid directory creation in unit tests

The directory 'dhcp' under neutron state path should not be
created during unit tests. This patch mocks up calls to
os.makedirs and ensures that methods that rely on it, like
_populate_network_cache, are mocked as well.

Fixes bug #1211952

Change-Id: I83998d4e631b1ebeab90b4c3c0276aa2ffe22c50
Imported Translations from Transifex

Change-Id: I45fe5fe57b916f9db7daa89f2af00300ef33ce57
Merge "Add metering extension and base class"
Merge "LBaaS: throw proper exception on duplicating monitor association"
Merge "Restore Babel to requirements.txt"
Unify exception thrown in l3-agent-scheduler fails

Since you can only attach a single l3 agent to a router, when you try
to add another l3 agent to a router that already have one, the l3
agent scheduler raises an exception.

This fix removes the discrimination by id: either it is the same agent
or another one, the router can not be hosted and the same exception is
raised.

Change-Id: If832bbd4bf17e4e0c4720172aded4c9fffedc6fc
Fixes: bug #1154622
Fixes typos in comments

Correct some spelling mistakes in comments.
l3_db.py
db_base_plugin_v2.py

Change-Id: I79f2b1b1935ca3805bb1c90c09e5d16f32b165ae
Merge "Fixes typos in comments"
Merge "Imported Translations from Transifex"
Merge "Mock os.makdirs to avoid directory creation in unit tests"
Merge "Do not call remove_router_lport in remove_router_interface"
Merge "Remove long db transaction for metadata access network"
Merge "Unify exception thrown in l3-agent-scheduler fails"
Merge "Fixes files with wrong bitmode"