AU: Try delta updates first, then full updates

Also, some bug fixes.

Review URL: http://codereview.chromium.org/492008
diff --git a/update_metadata.proto b/update_metadata.proto
index 61b4965..42880da 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -102,6 +102,8 @@
     }
     // If present, there is data associated with this File object and
     // data_offset and data_size must be set.
+    // If a file object doesn't have this set, it means the data is
+    // unchanged from the old version of the file.
     optional DataFormat data_format = 4;
     // The offset into the delta file where the data (if any) is stored
     optional uint32 data_offset = 5;