Switch to use libdm to bind loop devices

This is a speculative fix of the flaky unit test. There used to be a
race condition when the test tries to find a free loop device and binds
to it. Switch to libdm in android to address the race.

In the local test, the device gets into a state where kernel fails to open
the loop device returned by LOOP_CTL_GET_FREE. This cl tries to prevent the
device from entering the erroneous state. Though it's not clear if the test
itself put the device into such state. It's still worth trying if there'is
less flakiness after this cl.

Bug: 145706147
Test: unit tests pass

Change-Id: I3abbba2ef801d787c575696f5d0ce553c43545ca
diff --git a/Android.bp b/Android.bp
index 8418697..9d6ec7c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -652,6 +652,7 @@
         "libgmock",
         "libchrome_test_helpers",
         "libupdate_engine_android",
+        "libdm",
     ],
 
     header_libs: [