sim: Add dependency tests to simulator

Create a trait `Depender` which is passed down to the image create and
verification to check and test for various types of dependency
resolution.  Add a test that uses this to test the simple case of unmet
dependencies preventing an upgrade.

The actual test is disabled (with an `if false ...`) because the code
under test loops forever in this configuration.

Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/sim/src/lib.rs b/sim/src/lib.rs
index 1ed75dd..c8e8963 100644
--- a/sim/src/lib.rs
+++ b/sim/src/lib.rs
@@ -7,13 +7,21 @@
 use serde_derive::Deserialize;
 
 mod caps;
+mod depends;
 mod image;
 mod tlv;
 pub mod testlog;
 
-pub use crate::image::{
-    ImagesBuilder,
-    show_sizes,
+pub use crate::{
+    depends::{
+        DepTest,
+        DepType,
+        UpgradeInfo,
+        NO_DEPS,},
+    image::{
+        ImagesBuilder,
+        show_sizes,
+    },
 };
 
 const USAGE: &'static str = "
@@ -179,10 +187,10 @@
 
         failed |= bad_secondary_slot_image.run_signfail_upgrade();
 
-        let images = run.clone().make_no_upgrade_image();
+        let images = run.clone().make_no_upgrade_image(&NO_DEPS);
         failed |= images.run_norevert_newimage();
 
-        let images = run.make_image(true);
+        let images = run.make_image(&NO_DEPS, true);
 
         failed |= images.run_basic_revert();
         failed |= images.run_revert_with_fails();