Be better at cleaning up leftover from earlier test runs

When running the test inside a docker container we sometimes are left with
leftover device nodes for device mapper devices that no longer exist.
We were panic:ing in this case, but with this change we just remove such
nodes.
Make sure we mark the libdevmapper /dev/mapper/control fd CLOEXEC

We do a hack to mark it such, because otherwise lxc-start will not
work.
Small fixes
Small fixes
Remove overly spewy Debugf
hack: Don't just run the "TestRunHostname" test
Tests: Initialize devicemapper early to avoid it happening in a test

This can take a while and may cause some tests to timeout
Merge pull request #2087 from alexlarsson/device-mapper-test

Device mapper test branch update
replace 127.0.0.1 by the assigned IP address in the container's /etc/hosts file.
change 127.0.0.1 -> 127.0.1.1 & remove ::1 -> hostname mapping
Merged master into device-mapper branch
devmapper: Move all "raw" libdevmapper wrappers to devmapper.go

This separates out the DeviceSet logic a bit better from the raw
device mapper operations.

devicemapper: Serialize addess to the devicemapper deviceset

This code is not safe to run in multiple threads at the same time,
and neither is libdevmapper.

DeviceMapper: Move deactivate into UnmountDevice

This way the deactivate is atomic wrt othe device mapper operations
and will not fail with EBUSY if someone else starts a devicemapper
operation inbetween unmount and deactivate.

devmapper: Fix loopback mounting regression

Some changes were added to attach_loop_device which added
a perror() in a place that caused it to override errno so that
a later errno != EBUSY failed. This fixes that and cleans up
the error reporting a bit.

devmapper: Build on old kernels without LOOP_CTL_GET_FREE define
device-mapper: Move all devicemapper spew to log through utils.Debugf().
Clean up better from previous unit-test runs

This makes sure we unmount existing mounts (as well as removing the
devmapper devices), and it fails with proper logs rather than just
panic()ing.
Migrate AUFS containers to devmapper

Conflicts:
	hack/make.sh
	runtime.go
Verbose migration add warning for running container

Conflicts:
	hack/make.sh
	runtime.go
	runtime_test.go
Allow loopback and base fs sizes set by env var
Change the base filesystem size in unit tests
Add some docs for newly exported functions
Runtime: Remove unused funtion hasFilesystemSupport()

This used to be used to be used to detect AUFS support, but is not
used anymore.