Cleanup and gate on hacking E713 rule

This fixes the offending instances of the rule
and removes it from the ignore list in tox.ini
so that we can gate on the E713 rule.

Change-Id: I1f9ef23a8569252b5b6fa660d0d200b1702056d0
Deallocate the network if rescheduling for Ironic

Ironic (and any other driver that limits the allowed MAC addresses
on an instance will fail if the rescheduled instance runs on a node
that has a different constraint for MAC addresses. To deal with this
we deallocate the network (rather than e.g. trying to lazy update it)
because Nova can't know what the implications of leaving the network
allocated are *when MAC limits are in place* - and we expect them to
be in place when external systems are constrained, so being
conservative is a good idea.

However the code to trigger this looked at dhcp options (which drivers
can safely update pre-boot) not MAC addresses (which can cause conflicts
in Neutron if left in-place).

Change-Id: I59e748db7a943d5a36d75ef63b2a1ec458c58937
Closes-Bug: #1342919
Make BDM dict __init__ behave more like a dict

Currently we can't pass values as kwargs to BlockDeviceDict classes.
This is a common way to call a dict constructor so it breaks the dict
abstraction a bit.

This patch fixes it in a backward compatible way.

Change-Id: I31117eecba4f060cb9c7fc3d329f70fd369b168d
VMware: Consolidate fake_session in test_(vm|ds)_util

Both test_vm_util and test_ds_util contained a fake_session class.
The implementation of test_ds_util.fake_session was irrelevant to
almost all of its users, which was confusing.

fake_session from these 2 modules is consolidated into fake. We now
have fake.FakeSession(), which expects _call_method and _wait_for_task
to be mocked, and fake.FakeObjectRetrievalSession(), which is a
utility object for faking the return of an object list.

The implementation details of test_ds_util.fake_session have been
pushed into test_file_exists and test_file_exists_fails, where they
belong.

Change-Id: I168af46d28629c8b2cf8adae856f0f66ae3ee922
Merge "Deallocate the network if rescheduling for Ironic"
Merge "Cleanup and gate on hacking E713 rule"
Merge "Make BDM dict __init__ behave more like a dict"
Merge "VMware: Consolidate fake_session in test_(vm|ds)_util"