AU: Class to perform delta updates.

A class to perform delta updates and the associated unittests. Also,
change the delta diff generator executable to be able to apply a
delta, which is handy for debugging.

TEST=Attached unit test, hand-tested on real build images
BUG=552

Review URL: http://codereview.chromium.org/1718001
diff --git a/subprocess.cc b/subprocess.cc
index 3a6597e..87d8253 100644
--- a/subprocess.cc
+++ b/subprocess.cc
@@ -17,7 +17,7 @@
 namespace chromeos_update_engine {
 
 void Subprocess::GChildExitedCallback(GPid pid, gint status, gpointer data) {
-  COMPILE_ASSERT(sizeof(guint) == sizeof(uint32),
+  COMPILE_ASSERT(sizeof(guint) == sizeof(uint32_t),
                  guint_uint32_size_mismatch);
   guint* tag = reinterpret_cast<guint*>(data);
   const SubprocessCallbackRecord& record = Get().callback_records_[*tag];
@@ -37,7 +37,7 @@
 }
 }  // namespace {}
 
-uint32 Subprocess::Exec(const std::vector<std::string>& cmd,
+uint32_t Subprocess::Exec(const std::vector<std::string>& cmd,
                         ExecCallback callback,
                         void* p) {
   GPid child_pid;
@@ -79,7 +79,7 @@
   return *tag;
 }
 
-void Subprocess::CancelExec(uint32 tag) {
+void Subprocess::CancelExec(uint32_t tag) {
   if (callback_records_[tag].callback) {
     callback_records_[tag].callback = NULL;
   }