AU: Payload Signer class

This class can take a private key and sign a blob of data. The API is
amenable to the upcoming change to delta_diff_generator that will use
it.

Also, minor change to the protobuf to support signatures.

TEST=unittests
BUG=5662

Review URL: http://codereview.chromium.org/3173032
diff --git a/update_metadata.proto b/update_metadata.proto
index d849a8a..20c5d9f 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -7,7 +7,7 @@
 // version. The update format is represented by this struct pseudocode:
 // struct delta_update_file {
 //   char magic[4] = "CrAU";
-//   uint32 file_format_version = 1;
+//   uint64 file_format_version = 1;
 //   uint64 manifest_size;  // Size of protobuf DeltaArchiveManifest
 //   // The Bzip2 compressed DeltaArchiveManifest
 //   char manifest[];
@@ -80,7 +80,7 @@
 message Signatures {
   message Signature {
     optional uint32 version = 1;
-    optional string data = 2;
+    optional bytes data = 2;
   }
   repeated Signature signatures = 1;
 }