Refactored SetNs funcs. Implemented ChangeName.

I've refactored NetworkSetNsPid and NetworkSetNsFd following
what we already have in place for Add/Del Ip and Add/Del Link.
I've reimplemented NetworkChangeName function which is now
using netlink for changing the interface name. I added tests too.
I've moved the original syscall implementation at the bottom
to keep it together with the other non-netlink functions.

Signed-off-by: Milos Gajdos <milosgajdos83@gmail.com> (github: milosgajdos83)
Added VLAN and MAC VLAN device support to netlink

You can now create VLAN and MAC VLAN devices using netlink.
I've also added tests for both VLAN and MAC VLAN stuff.

Signed-off-by: Milos Gajdos <milosgajdos83@gmail.com> (github: milosgajdos83)
Merge pull request #206 from milosgajdos83/vlan-macvlan

Added support for VLAN and MAC VLAN interfaces plus did a bit of refactoring.
implementing SetInterfaceMac

Docker-DCO-1.1-Signed-off-by: Malte Janduda <mail@janduda.net> (github: MalteJ)
MACAddress -> MacAddress

Docker-DCO-1.1-Signed-off-by: Malte Janduda <mail@janduda.net> (github: MalteJ)
Merge pull request #208 from MalteJ/master

Expose parameter to set interface MAC address
Update system/xattrs_linux.go

- Add Llistxattr() support
- Additionally cleanup Lgetxattr() and implement it properly
  in accordance with getxattr() syscall behavior.

Signed-off-by: Harshavardhana <fharshav@redhat.com>
xattr/xattr.go: Add new higher level helpers for xattr

Signed-off-by: Harshavardhana <fharshav@redhat.com>
Merge pull request #202 from harshavardhana/xattr_list_xattr

Update system/xattrs_linux.go
Introduce more entropy in veth name generation

The current 4 chars are not enough, bumped to 7

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Add loop for veth pair creation on ErrInterfaceExists

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #212 from crosbymichael/veth-naming

Add more entropy to veth pair creation
Allow IPC namespace to be shared between containers or with the host

Some workloads rely on IPC for communications with other processes.  We
would like to split workloads between two container but still allow them
to communicate though shared IPC.

This patch allows us to mimic the --net code to allow --ipc=host to not split off
the IPC Namespace.  ipc=container:CONTAINERID to share ipc between containers

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)