zfs-utils based zfs graph driver

- Use go-zfs for robust commandline handling
- implements complete driver interface including the differ interface
- should also works on non-linux platforms

current status: works on my machine(tm)
I am looking for testers with different zfs setups to find more bugs

**Usage** (a little bit more verbose for testers):
- the following lines can be tested without messing up your current docker setup
- replace zroot/docker with your preferred zfs dataset

```
$ git clone https://github.com/Mic92/docker
$ cd docker
$ git checkout features/zfs-rebased
$ export AUTO_GOPATH=1
$ hack/make.sh dynbinary
root> zfs create -o com.sun:auto-snapshot=false -o dedup=off -o mountpoint=/var/lib/docker-zfs zroot/docker
root> bundles/1.3.2-dev/dynbinary/docker -p /var/run/docker-zfs.pid -H tcp://127.0.0.1:2376 -s zfs -g /var/lib/docker-zfs -d -D
# spawn another shell and go to your favorite docker project and hit
$ export DOCKER_HOST=tcp://127.0.0.1:2376
$ bundles/1.3.2-dev/dynbinary/docker --pidfile=/var/run/docker-zfs.pid -H unix:///var/run/docker-zfs.sock build .
```
You can also overwrite the used dataset with `--storage-opt zfs.fsname=zroot/docker`, when starting the docker daemon.

Related to docker/docker#7901

PKGBUILD for archlinux: https://aur.archlinux.org/packages/docker-zfs/

**ZFS Quickstart** (from a loopback device)
1. Install zfs:
on Ubuntu:

```
# apt-add-repository --yes ppa:zfs-native/stable
# apt-get update
# apt-get install debootstrap spl-dkms zfs-dkms ubuntu-zfs
```

on Arch:
install `zfs-git` from `AUR`

2. Create your zpool:

```
# truncate -s 2G /tmp/zfs.img
# zpool create dockertest /tmp/zfs.img
```

This external dependency on `go-zfs` shouldn't exist. All other graph drivers are self-contained and only rely on C libraries, they don't rely on third party Go libraries.