sim: Move simflash to be its own crate

In preparation for moving the bootutil binding into a separate crate,
move the flash simulator into its own crate.  This will allow the
binding to have access to the simulator without creating a circular
dependency.

Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/sim/src/main.rs b/sim/src/main.rs
index af3a2d6..dfebea7 100644
--- a/sim/src/main.rs
+++ b/sim/src/main.rs
@@ -4,9 +4,7 @@
 extern crate libc;
 extern crate rand;
 extern crate rustc_serialize;
-
-#[macro_use]
-extern crate error_chain;
+extern crate simflash;
 
 use docopt::Docopt;
 use rand::{Rng, SeedableRng, XorShiftRng};
@@ -19,12 +17,10 @@
 
 mod area;
 mod c;
-mod flash;
 pub mod api;
-mod pdump;
 mod caps;
 
-use flash::{Flash, SimFlash};
+use simflash::{Flash, SimFlash};
 use area::{AreaDesc, FlashId};
 use caps::Caps;