THRIFT-417. rb: BufferedTransport can enter an infinite loop

Switch native proto implementations to use read_all instead of read. Add a bunch of tests to verify. 

Also:
- removed some commented code in binary_protocol_accelerated.c
- struct.c was missing one of the possible native method calls
- updates gem manifest (included files that didn't exist)
- fixed svn:ignores of test/rb/gen-rb and lib/java/gen-java

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761037 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/ext/struct.c b/lib/rb/ext/struct.c
index 8dd5c3e..fee285e 100644
--- a/lib/rb/ext/struct.c
+++ b/lib/rb/ext/struct.c
@@ -416,11 +416,6 @@
   // call validate
   rb_funcall(self, validate_method_id, 0);
 
-  // if (rb_funcall(protocol, native_qmark_method_id, 0) == Qtrue) {
-  //   set_native_proto_function_pointers(protocol);
-  // } else {
-  //   set_default_proto_function_pointers();
-  // }
   check_native_proto_method_table(protocol);
   
   // write struct begin
@@ -565,7 +560,7 @@
   
   // read each field
   while (true) {
-    VALUE field_header = rb_funcall(protocol, read_field_begin_method_id, 0);
+    VALUE field_header = mt->read_field_begin(protocol);
     VALUE field_type_value = rb_ary_entry(field_header, 1);
     int field_type = FIX2INT(field_type_value);