THRIFT-332. rb: Compact Protocol in Ruby

This patch includes both a pure Ruby and C-extension port of the Compact Protocol described in THRIFT-110. It also fixes a bug in struct.c that was interfering with native protocol method calls, and adds some utility classes to the Java library for serializing/deserializing to a file for the purpose of testing protocols cross-language.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756133 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/Manifest b/lib/rb/Manifest
index c291232..beddc3b 100644
--- a/lib/rb/Manifest
+++ b/lib/rb/Manifest
@@ -15,10 +15,11 @@
 ext/protocol.h
 ext/protocol.c
 ext/constants.h
+ext/macros.h
 ext/memory_buffer.h
 ext/memory_buffer.c
-ext/rope_transport.c
-ext/rope_transport.h
+ext/compact_protocol.h
+ext/compact_protocol.c
 ext/thrift_native.c
 ext/extconf.rb
 lib/thrift/client.rb
@@ -28,6 +29,7 @@
 lib/thrift/protocol/binaryprotocol.rb
 lib/thrift/protocol/binaryprotocolaccelerated.rb
 lib/thrift/protocol/tbinaryprotocol.rb
+lib/thrift/protocol/compact_protocol.rb
 lib/thrift/protocol/tprotocol.rb
 lib/thrift/protocol.rb
 lib/thrift/serializer.rb