C++ bindings: A struct's Deserialize() now does validation before deserializing.
* Consequently, |Deserialize()| now has a |buf_size| argument.

BUG=#419
R=qsr@chromium.org, ukode@google.com, viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/1800753005 .
diff --git a/examples/serialization/main.cc b/examples/serialization/main.cc
index 9b0a96d..381ab97 100644
--- a/examples/serialization/main.cc
+++ b/examples/serialization/main.cc
@@ -19,8 +19,7 @@
 
   char buf[1000];
   MOJO_CHECK(in.Serialize(buf, sizeof(buf)));
-
-  out.Deserialize(buf);
+  MOJO_CHECK(out.Deserialize(buf, sizeof(buf)));
   MOJO_CHECK(out.a == 1);
   MOJO_CHECK(out.b == 2.0f);
   MOJO_CHECK(out.c == "hello world!");