don't go into a loop when initializing a recursive Message

fixes #21
fixes #20
remove the no-longer-used gen_methods! call in .pb.rb files

the method is left on the Message class, so that already-generated
.pb.rb files don't break
validate sub-messages

fixes #14
don't create the RepeatedField until it is accessed
implement utf-8 validation of string fields

only on ruby 1.9+, since it uses the new Encoding features
don't include unset fields in Message#inspect output

fixes #23
fix typo in docs
README updates

Reorganize a bit to hopefully make some things clearer.

Added a section describing how to declare and use Message subclasses
without using the .proto compiler at all, using the same DSL that
ruby-protoc outputs internally.
add rake to dev dependencies
activate ext, add rake compiler and cleanup
remove rvmrc from git repo
make VERSION available to 'require "protocol_buffers"'
add my name to authors
move varint to extra gem and make it optional during runtime
fix typo
https for rubygems
add varint gem to the README and remove STDERR spam
put varint in a group for easy with/without bundles when running tests
get rid of the String/Fixnum monkey patch in varint.rb

This breaks ruby 1.8.6 compatibility
bump version to 1.3.1