Avoid deleting user-provided Neutron ports if VM spawn fails

If the VM boot fails, resources like Neutron ports are destroyed.
This is particularly bad if the failure is transient and a
rescheduling attempt is made. In this case the port no longer exist
and the failure becomes self-inflicted. To avoid this, during the
deletion of VM resources, we look at the requested_networks passed
by the user: if they contain port ids, we skip the destruction.

An optional parameter is added to RPC method deallocate_for_instance.
RPC Network API is bumped to 1.10 to reflect this change, but the
change is backward compatible.

Fixes bug #1195490

Change-Id: Iade232267c58ae2cf3966829e660d3298070a3bf
Merge "Avoid deleting user-provided Neutron ports if VM spawn fails"