BootControl exposes DynamicPartitionControl.

Add BootControlInterface::GetDynamicPartitionControl, which
exposes the internal DynamicPartitionControlInterface object.

BootControlStub / FakeBootControl / BootControlChromeOS uses
DynamicPartitionControlStub (all functions succeeds).

BootControlAndroid uses DynamicPartitionControlAndroid.
GetPartitionDevice is exposed so that BootControlAndroid can use it.

Follow-up CLs delete duplicated PreparePartitionsForUpdate
and Cleanup from BootControlInterface so that BootControlAndroid remains
a thin wrapper of the HAL (+GetPartitionDevice, which exists before
dynamic partitions.)

Test: update_engine_unittests

Change-Id: Ifc2aa2ee8a63ef581c8ebc562ec158794ac51dfd
diff --git a/boot_control_android.cc b/boot_control_android.cc
index 05e9637..5d11e42 100644
--- a/boot_control_android.cc
+++ b/boot_control_android.cc
@@ -168,4 +168,9 @@
       source_slot, target_slot, manifest, update_metadata);
 }
 
+DynamicPartitionControlInterface*
+BootControlAndroid::GetDynamicPartitionControl() {
+  return dynamic_control_.get();
+}
+
 }  // namespace chromeos_update_engine