Check for dup field tags/names in define_field

The rprotoc generator is duped by duplicate field names when you extend
the same message from within different scopes:

message Foo {
  ...
}

message Bar {
  extend Foo {
    optional Protobuf::Field::Int32Field, :foo, 100
  }
}

message Baz {
  extend Foo {
    optional Protobuf::Field::Int32Field, :foo, 101
  }
}

The fix is simply to check on each Message.define_field call for fields
that already exist with the same name (regular or extension fields).

Fixes #70
Merge pull request #87 from localshred/70_duplicate_ext_fields

Check for dup field tags/names in define_field