instance level class access was removed, ask class for name instead of instance
Ensure required fields raise the correct error during encoding when not assigned

The spec existed to catch this issue, unfortunately it didn’t fail
because the message we were testing against had a field named “name”,
thus calling `self.name` in the raise string didn’t fail, it just
returns nil (since the name value wasn’t set).

The fix then is to create a message type with a required field named
something other than `name`.
Merge pull request #187 from localshred/bdewitt/pb3_class

instance level class access was removed, ask class for name instead of i...