Add port bindings to ports created in Midonet

Currently Midokura uses its own script (mm-ctl) to bind ports. However, support
for using this script is left out of the nova and neutron projects. This causes
confusion and makes deployments unnecessarily complicated for customers using
Havana. This fix is to change Neutron to properly set up port bindings to use
the "midonet" vif driver when creating a port. Corresponding changes will be
submitted to the devstack and Nova projects.

Change-Id: I91f2e4fe7135da0c22fb408081efdc63fff748df
Closes-Bug: 1235134
Removing rpc communication from db transaction

In a transaction context of ExtraRoute_db_mixin.update_router() was
called super method that uses subtransaction and communication with l3
agent. In case of agent's heartbeat happens while there is running
transaction, update heartbeat in agents table gets stuck in a deadlock.

Closes-Bug: #1211915
Change-Id: I96e6a9d7172d5a0e3e720a81fcd10f04c40aef07
Handle VLAN interfaces with Linux IP wrapper

Check if the interface name contains '@' character and use the part
before that character as interface name.

Change-Id: I09eb52f4d41054a76fd140d3a3476c6cfe05226b
Closes-Bug: #1240125
Merge "Removing rpc communication from db transaction"
Merge "Handle VLAN interfaces with Linux IP wrapper"
Merge "Add port bindings to ports created in Midonet"