sim: Move 'Flash' into a trait

Make 'Flash' a trait, and move the current functionality into a type
called 'SimFlash'.  The code that runs the simulation only uses the
trait.

Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/sim/src/area.rs b/sim/src/area.rs
index 4b85912..eb42292 100644
--- a/sim/src/area.rs
+++ b/sim/src/area.rs
@@ -1,6 +1,6 @@
 //! Describe flash areas.
 
-use flash::{Flash, Sector};
+use flash::{Flash, SimFlash, Sector};
 use std::ptr;
 
 /// Structure to build up the boot area table.
@@ -12,7 +12,7 @@
 }
 
 impl AreaDesc {
-    pub fn new(flash: &Flash) -> AreaDesc {
+    pub fn new(flash: &SimFlash) -> AreaDesc {
         AreaDesc {
             areas: vec![],
             whole: vec![],