Fix for status always in PENDING_CREATE for Edge service router

The root cause is when deployment finished, we only update router status to
active if the status is in pending create. The problem happens when the
background sync thread update router status to active, so the status update
for vcns_router_binding table is skipped. We fixed this by seperating
checking and updating status for router and binding table.

Also fixed an issue where Edge is not deleted if neutron service is
restarted. The root cause is when neutron service restarts, the cache for
router type is empty. And because we delete the router from db before
we delete Edge, we're not able to locate the router from db to determine
the router type. The fix is to use binding table to determine the router
type.

Also piggyback a missing attribute for updating Edge interface. It must have
been removed by accident when resolving conflict during service plugin merge.

Closes-Bug: #1226229
Change-Id: I3d0639d245e71ea2a3faba70fef1a0ebb87e19fd
Port Cisco nexus and network db UT to ML2 mech driver UT

Fixes bug 1227964

This fix ports the Cisco Nexus database and network database
unit tests to the Cisco ML2 mechanism driver UT.
The existing test scripts which are ported:
    neutron/tests/unit/cisco/test_nexus_db.py
    neutron/tests/unit/cisco/test_network_db.py
The new test scripts are:
    neutron/tests/unit/ml2/drivers/test_cisco_nexus_db.py
    neutron/tests/unit/ml2/drivers/test_cisco_network_db.py

Note that the QoS database related tests in
test_network_db.py are not ported because QoS is
not currently supported in the Cisco ML2
mechanism driver.

Change-Id: Ib47dab9dafde7c4b8cf0a4930379750f00b9455c
Merge "Port Cisco nexus and network db UT to ML2 mech driver UT"
Merge "Fix for status always in PENDING_CREATE for Edge service router"