ApplyLayer() use RemoveAll to handle removing directories

rmTargetPath can be a directory, so we have to use RemoveAll() or we
will fail to whiteout non-empty directories.
Unlink docker init files
Save driver to container and skip incompat containers

For people who toggle drivers we want to save the driver used
to create a container so that if the driver changes we can skip
loading the container and it should not show up in docker ps
Use ExportChanges() in runtime.Diff()

This code was duplicated in two places, one which was unused. This
syncs the code and removes the unused version.
Add tests for the changes detection code

This adds 3 tests:

Verify that ChangesDirs() returns nothing when run on a copy of the
same directory.

Verify that various mutations of a directory get reported with the
right changes.

Verify that ExportChanges() + ApplyLayer() of the above mutation gets
an identical directory.

Unfortunately the last test is disabled because it fails in multiple
ways atm. But I want to get it in so that we can fix it.
Show active driver in docker info output
Print devicemapper status details in docker info

This adds a generic Status call in the Driver api and
implements if for the devicemapper backend.

The status is an array of key/value strings rather than a map so that
we can guarantee some static order of the docker info output.
Use dummy driver for volumes

It makes no sense to use the aufs or devicemapper drivers for volumes.
The aufs one is perhaps not a big problem, but the devicemapper one
certainly is. It will be unnecessarily using a dm
blockdevice-over-loopback with a limited size base FS.

This just hardcodes the driver to be the dummy, perhaps in the future
we can have other drivers that make sense for the volumes.
Merge pull request #30 from alexlarsson/dm-plugins-archive-tests

Dm plugins archive tests
Merge pull request #34 from alexlarsson/dm-plugin-dummy-volumes

Use dummy driver for volumes
Merge pull request #33 from alexlarsson/dm-plugin-status

Add driver plugin status
Merge pull request #36 from crosbymichael/unlink-init-files

Unlink docker init files
Merge pull request #38 from crosbymichael/add-container-driver

Save driver to container and skip incompat containers
Move all drivers to the same subdir graphdriver
rename gograph in graphdb
WIP
Merge pull request #40 from shykes/creack-0.6.5-dm-plugin

Rename gograph and move drivers to sub pkg
Mark archive.TestApplyLayer as skipped

Instead of just returning we call Skip to log that the test
was skipped.
Merge pull request #42 from alexlarsson/dm-plugin-archive-test-skip

Mark archive.TestApplyLayer as skipped
Use tryRelocate to fall back to symlink if rename fails