Backfill integration tests for multiple containers in subnet and improve cleanup

[#83656106]
Remove uneccesary moving of host interface

[#83656106]
Backfill tests around deconfigure, dont swallow errors

* Inject interfaces rather than stubbing global functions
* Don't swallow errors
* When an error is returned during Release, don't tear stuff down anyway

Also use more idiomatic %#v for stringifying Allocation.

[#83656106]
Backfill tests for Recover and refactor for clarity

[#83656106]
Backfill tests around and rewrite configureHost

 - rewrite configureHost with interface dependencies
 - properly test low-level functions work

This appears to have also cleared up numerous flakey tests.

[#83656106]
Backfill and rewrite configureContainer

Make consistent with configureHost

[#83656106]
Add logging to network code

 - remove PrintLns from net-fence.main in favourite of log message
 - add logs for configureHost

Also remove commented test for AddDefaultGW because we don't have a good
way to test this without messing up the test machine's network.

[#83656106]
Split network management out of net_fence

Network configuration code shouldn't care about being a fence.

Also move low-level netlink wrapper code to devices subpackage, rename
"net-fence" package to "netfence" to fit better with golang package
naming and move devices fakes to their own fake package.

[#83656106]
Delete separate net_fence integration test

Too expensive for the benefit of two tests that are already covered (and
are better covered) by the main networking integration tests.

[#83656106]
Add logging and consistent errors when destroying network

- also remove some unused Error constants

[#83656106]
Use default values for unimportant parameters in tests

[#83656106]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Tidy ip tests

[#83656106]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Move network under netfence

[#83656106]

Signed-off-by: Glyn Normington <gnormington@pivotal.io>
Refactor deconfigure to be consistent with configure

 - Move netlink code to device package with all the other netlink code
 lives
 - Add simple test for netlink bridge deletion
 - Create Deconfigurer with similar structure to Configurer

[#83656106]
Avoid redundant delete of host interfaces

 - rename DeconfigureHost to DeconfigureBridge to reflect that that is
 all it does now

These are automatically cleaned up as part of the container going away, since
the other side of the pair is inside the destroyed the container. No
point double deleting.

[#83656106]
WIP: Add integration tests for existing net_in/net_out functionality

 - still some test pollution if run alongside lifecycle tests
 - tests for deny_networks fail unexpected for containers in the same
 subnet unless old/linux_backend/skeleton/net.sh#L42 is commented out
 - needs to test for udp traffic
 - ideally use configurable external IP to talk to instead of relying on
 8.8.8.8 existing

[#81502222]