Update to work with libcontainer

Makes pipework work with the new docker native exec driver (libcontainer).
Use pid from docker inpsect

Since docker returns a pid for the container use that instead of doing all the other hackery.
Adding functionality to find any available dhcp client(dhclient,udhcpc,
or dhcpcd) for use in cases where udhcpc may not be readily available.
Also a few checks to not run mkdir or rm unless necessary.
Currently, if arping is found, the script will always exit with exit
code 1. This is because arping sends a ping to cause other devices to
notice the new MAC address, but this ping is not expected to be
returned. However, this means that the exit code from the arping line is
always 1. When running manually this isn't noticeable as it's the last
action performed, but it plays serious havoc when calling pipework from
another program. The fix is to OR the exit code with true.
missing dev parameter to set mac  address
Adding retry clause in the event that docker inspect is called too
quickly and returns a PID of 0
Virtual LAN (VLAN) support for Open vSwitch and physical interfaces

If you want to attach the container to a specific VLAN, the VLAN ID can be
specified using the `[MAC]@VID` notation in the MAC address parameter.

**Note:** VLAN attachment is currently only supported for containers to be
attached to either an Open vSwitch bridge or a physical interface. Linux
bridges are currently not supported.

The following will attach container zerorpcworker to the Open vSwitch bridge
ovs0 and attach the container to VLAN ID 10.

    pipework ovsbr0 $(docker run -d zerorpcworker) dhcp @10

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
remove NSPID from netns.
Inherit MTU from the bridge to prevent fragmentation

Otherwise, performs drops 2x due to MTU mismatch.
Make README more user-friendly
Remove indent on ruby code snippet
Fix `ip link` for bridge creation (fixes #39)
Shuffle pleth* and pgeth* interface names to veth*pl* and veth*pg* so that NetworkManager on Ubuntu will ignore them
Various customisations:

* Use sh instead of bash as bash not installed in boot2docker.
* Provide the value of $GUESTNAME as an argument to the DHCP client so the DHCP server can add it to DNS (if the DHCP server is also acting as a DNS server, e.g. dnsmasq).
Update README.md

Spelling mistake.
Update README.md

Correction for grammatical error.
syntax error
adding subnet mask to readme examples
Re-add default gateway after moving IP to macvlan subinterface

Save some head scratching for others that go down this path.
fix invalid sh syntax