vrouter: multiple router_driver support (vrouter and l3-agent)

Change-Id: Ibf6e9e426e4aec55b415c1ed2c83f4b777b07256
vrouter: Check external network only if flavor is vrouter

Change-Id: Ic190c0a9826266742081d62bf1e273051e2496ba
vrouter: l3-agent support is back

routers with flavor l3-agent are hosted by l3-agent and
routers with flavor vrouter are hosted by PFC.

Change-Id: I101a3393646e7140cb2549f208a94e46beccbdb0
vrouter: Add new configurations related to router flavor

Change-Id: Idd09a3382c1f110f6252a31ca7ea2e282c20b57a
NEC plugin: ofc_client use returned error message as exception reason

Change-Id: I6a1dc39792e4ade88dfce4f97cca8dc14265e9bf
vrouter: Remove unnecessary get_networks

Change-Id: Ibafbbffd942d1d15c3e119f0075d439bb57f6aba
get_security_groups now creates default security group

If one called get_security_groups() previously the default security
group would not be created until the tenant created a network. This
exposed a bug when an admin creates a shared network and a tenant tried
to boot a vm on it without having any networks.

Fixes bug 1171997

Change-Id: I899203424c03353a1ee6567c9ddbaecd7dc25001
(cherry picked from commit acf44dba26ca8dca47bfb5fb2916807f9f4e2060)
vrouter: call ofc_delete_tenant when OFC tenant has no resource.

Previously ofc_delete_tenant is called when all resources in
quantum tenant are deleted. This commit changes the behavior
to call ofc_delete_tenant when all resources on OFC are deleted.
In addition, it ensures ofc_delete_tenant is not called when
a corresponding tenant does not exist on OFC.

Change-Id: If92c878ead34890ce8a433f521d7677e0080177d
vrouter: Rename PFC vRouter flavor name to 'openflow'

Change-Id: I951559eb01bced490f1e50d579936df5817eae57
vrouter: Fix a bug notifications are not done properly

* remove_router_interface is not notified. The logic after delete_port
  in l3_db.remote_router_interface was not called.
  There is a room to improve l3_db remove_router_interface logic.
* Too may update_router notifications (update_router was called
  in _update_resource_status() in nec_plugin.py.
  This results in multiple routers_updated notifications per API call.

Change-Id: I1dc6d160e6501118a07bfcafd34c39ff02e82216
vrouter: Use skipTest to skip tests related to external gateway

Change-Id: I28395632f08a705a5962d20fd4e715bc92a1ebd0
Set logging level of FakeLogger to DEBUG

Change-Id: I6b013efeb971a83ef971d9e3f6433cf122b5417b
vrouter: Disable openflow router flavor if OFC doesn't support it

Change-Id: I55d3cf1e467b6e8b169a41d204229ffd5c3c2907
NEC plugin: Ensure to remove auto delete ports from OFC

Change-Id: I4fd5ced24e4eb4753336c1bed2f876bc13fc5b5a