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
As enum is actually an integer field over the wire, I believe the most "correct" thing to do, in terms of protobufs, is to default to 0, which is what other integer fields default to.