Add VirtualInterface object

Add new objects: VirtualInterface and VirtualInterfaceList.  These are
needed for converting nova-network over to use objects.

Part of blueprint nova-network-objects

Change-Id: Idab38a2a9bd8737fcc8e112759c539b7ebad4df9
Nova Docker driver must remove network namespace

The docker hypervisor creates for each container a network
namespace which represents the nova network. This network
namespace must be removed/destroyed when nova instance will
be destroyed in order to cleanup the machine properly.

Change-Id: I6fa306d06fb16f8ceddb06e22566974237082759
Closes-Bug: 1261007
Add instance faults during live_migrate errors

When there is an error in the compute manager relating to
live-migrate, this change ensures that an instance fault is
recorded to help debug any issues.

We also need to look at better reporting of errors to users,
but this is not in the scope of this small change.

Change-Id: Ib4f0d0aea64468a4a1495b0318fc531a7d0d4eaa
Merge "Add instance faults during live_migrate errors"
Merge "Nova Docker driver must remove network namespace"
Merge "Add VirtualInterface object"