Make sure all enum values have names (including defaults)

A common pattern for us is

```ruby
message.enum_field.name
```

but with an unset field, this ends up being a plain ol' Fixnum, not an instance of `Protobuf::Enum`, and this blows up!

```ruby
message.enum_field.name
# NoMethodError: undefined method `name' for 0:Fixnum
```

This change lets us treat defaults as if they had names, simplifying our code.

cc @tamird
Oh you're right.

From the spec:

>  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