Replace existing gob-based merge impl with proto-based impl.

Merging now takes fully in C/C++ land with no callback to Go. Mildly
less flexible, but the the proto encoding is much more compact than the
gob encoding.
Oops, what I was referring to is what we do with the error msg. In storage/engine/rocksdb_compaction.c:

  if (error_msg != NULL) {
    reportGCError(error_msg, (char*)key, key_length, (char*)existing_value, value_length);
  }