Compiler support for libprotoc <= 2.5.0

Replaces the C++ generator with protoc-gen-ruby.
Per the [Protobuf Language Guide recommendation][1], I've rewritten the
generator to be plugin-based. That is, a ruby program that reads from
STDIN a CodeGeneratorRequest message and writes to STDOUT a
CodeGeneratorResponse message.

This makes the generator more flexible since we can utilize ruby to
generate the correct ruby classes for a given proto. And we like ruby.

This has the ultimate benefit that we will be able to support new
versions of libprotoc much easier since it simply involves updating the
plugin.pb and descriptor.pb files on a new release. Obviously we'd want
to evolve the message DSL to support new released features, but at the
very least this change makes it so that the the compiler doesn't care
which version of libprotoc you have installed on your machine. It Just
Works™.

There is parity between the old and new compiler in terms of compilation
output (other than whitespace diffs). I'm looking for feedback on the 
composition of the classes that perform the generation. I'm not married
to it but it was an attempt to make a more flexible system for generating
output classes. Ultimately I'd like to design a DSL for generating output
files such that you could use this gem but supply your own output
generators, which would allow you to generate ActiveRecord models, etc.

Feedback, please.

  [1]: https://developers.google.com/protocol-buffers/docs/reference/other