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 (go-zfs was developed for freebsd in the first place)
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/vendor.sh
$ hack/make.sh dynbinary
root> zfs create -o com.sun:auto-snapshot=false zroot/docker
root> mkdir /var/lib/docker-zfs
root> bundles/1.3.2-dev/dynbinary/docker -p /var/run/docker-zfs.pid -H tcp://127.0.0.1:2376 -s zfs --storage-opt zfs.fsname=zroot/docker -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 .
Docker will also detect if /var/lib/docker is located on a zfs dataset and will use it.

Related to docker/docker#7901