Add --write_if_changed argument to soong_zip

Simplify making restat rules by adding a --write_if_changed argument
to soong_zip that generates the output file into memory and then
compares it to the version on disk before writing it out.

Test: builds
Change-Id: I5059a1e3a11e79b0ca538b3b829bc7479c126ce6
diff --git a/zip/Android.bp b/zip/Android.bp
index d708089..3bb4f25 100644
--- a/zip/Android.bp
+++ b/zip/Android.bp
@@ -19,6 +19,7 @@
     pkgPath: "android/soong/zip",
     deps: [
         "android-archive-zip",
+        "blueprint-pathtools",
         "soong-jar",
     ],
     srcs: [