Make sure all enum values have names (including defaults)
Per protobuf spec, unset enums default to first enum value

> For enums, the default value is the first value listed in the
> enum's type definition.

Source: https://developers.google.com/protocol-buffers/docs/proto#optional
Use type_class.fetch to get a default value if it exists
Prevent using Protobuf::Enum.default, it must be on an instance
use stronger boolean rspec matchers
remove unneeded custom matcher
remove unused dependency
Convert specs to RSpec 3.0.3 syntax with Transpec

This conversion is done by Transpec 2.3.6 with the following command:
    transpec -b true,false -f -s

* 11 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 1 conversion
    from: obj.should
      to: expect(obj).to

For more details: https://github.com/yujinakayama/transpec#supported-conversions
prefer constants to strings
Use valid UTF-8 in UTF-8 spec

Fixes #191
Merge pull request #207 from tamird/utf-8-cycle-test

Fix UTF-8 cycling test under MRI 2.1.1
Merge pull request #203 from zachmargolis/all-enums-have-names

Make sure all enum values have names (including defaults)
Merge pull request #206 from tamird/stronger_boolean_matchers

spec cleanup
use methods instead of mutable state
use default method instead of mutable state
Merge pull request #205 from tamird/less-state

reduce mutable state
More state cleanup in BaseField, alphabetizing

Alphabetize all methods in BaseField.

Rather than deleting values out of the options hash, reference the hash
from predicate functions.

Rename `getter_method_name` and `setter_method_name` to simpler
`getter` and `setter`.

Remove the excess options warning since we are generating all field
definitions.
Merge pull request #208 from localshred/bj/more-base-field-state-cleanup

More state cleanup in BaseField, alphabetizing
Add FIXME comments to BaseField
Bump version 3.2.1