Add support of groups

* Extends the Ruby-internal DSL for protocol buffers so that it supports
  groups.
* Lets the complier to generate the DSL for group if the field is a
  group.
* Allows the runtime to serialize and deserialize group fields
Correctly require nested protos.
Add a new executable bin/protoc-gen-ruby, which behaves as a Ruby code
generator plugin of protoc.

Plugin is the preferred way of adding a support of non-official
language to proto compiler.

You can generate Ruby sources by commands like the following when
this plugin is installed in a location on the path.

% protoc --ruby_out=/path/to/output/dir foo.proto
Merge pull request #10 from yugui/feature/plugin-bin

Add a new executable bin/protoc-gen-ruby, which behaves as a Ruby code generator plugin of protoc.
Merge pull request #11 from yugui/feature/group-support

Add support of groups
Merge pull request #9 from xaviershay/nested-protos

Correctly require nested protos.
bump version to 1.4.0
Don't force encoding on already properly-encoded buffers

This allows frozen strings to be used as ProtocolBuffer input.
s/encoding/external_encoding/
Merge pull request #13 from stouset/patch-1

Don't force encoding on already properly-encoded buffers
bump version to 1.4.1
add license summary to gemfile

closes #14
bump version
additional tests for unset fields
fix bug where "value" could not be the name of a field
add to_hash method to Message
Merge pull request #17 from centzy/value_bug

Fix bug where "value" could not be the name of a field
Merge pull request #16 from centzy/additional_tests

Additional tests for unset fields
check explicitly for nil in to_hash, return dup of string if field is a string
Merge pull request #18 from centzy/message_to_hash

Add to_hash method to Message