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.
Add error return to cleanup, use os.OpenFile instead of syscall.Open, Make sure the pools are removed after all other devices
Merge pull request #2182 from dotcloud/cleanup-dm-unittests

Clean up better from previous unit-test runs