updated for thrift 0.9.1, hadoop 2.3.0 and protobuf 2.5.0
added Externalizable interface and its implementation