Add net-fence main executable

The purpose of the net-fence executable is to configure the networking portion of
a container.

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Package in-container test using ginkgo build

This will make it easy to add more in-container tests without needing
to add multiple test 'mains'.

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Loopback interface device link configuration

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Ensure net-fence executable is statically linked

Without this, net-fence fails to load with an obscure "not found" error.

The problem is that net-fence uses the Go net package and this causes
the executable to become dynamically linked.

See http://blog.xebia.com/2014/07/04/create-the-smallest-possible-docker-container/
more information.

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Move host network configuration into net fence

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Refactor of tests in fences/network/configure_test.go

Also split security test from restarting variant.

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Name bridges appropriately

The bridge names are prefixed with the Garden network interface
prefix, which consists of "w" followed by the tag.

This ensures that outbound packets from bridges are passed to the
filter forward chain by the following rule in bin/net.sh:

iptables -w -A FORWARD -i ${GARDEN_NETWORK_INTERFACE_PREFIX}+ \
    --jump ${filter_forward_chain}

Ensure bridge interface names are sufficiently short

There is a restriction that interface names are at most 15 bytes
long (at least for the stemcell we are using).

Also delete the bridge interface in destroy.sh. This is temporary.

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Merge remote-tracking branch 'origin/master' into subnet-routing-take2-#80656918

Revert to struct form of IPVar for consistency with CidrVar.

Call container network configuration from the host side via ip netns exec $PID ...

Conflicts:
	fences/network/fence.go
	fences/network/vars.go
	integration/networking/ip_test.go
	old/linux_backend/skeleton/lib/hook-child-after-pivot.sh

[#80656918]

Signed-off-by: Steve Powell <spowell@pivotal.io>
Merge branch 'subnet-routing-take2-#80656918'

[#80656918]

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