Fix auto-deletion of ports and subnets in ML2

When a network is deleted, certain ports and any subnets referencing
it are auto-deleted. The implementation of
NeutronDBPluginV2.delete_network() does this at the DB level, so ML2's
mechanism drivers were not being called.

Ml2Plugin.delete_network() is changed to not use the base class's
method, and to auto-delete ports and subnets by calling its own
delete_port() and delete_subnet() methods outside of the
transaction. A loop avoids race conditions with ports or subnets being
asynchronously added to the network.

Closes-Bug: 1230330
Change-Id: Icf21400c9938eec29d70da8497b9ef92642131e2
Merge "Fix auto-deletion of ports and subnets in ML2"