Bug: Messages with reserved key names cannot encode

I've added a failing test to demonstrate the issue, but in short:
```
message Reserved { optional string get = 1; }
```
is currently a no-go.

As a backwards compatible solution, internal `Message` functions are now aliased as underscored, and accessed as such internally. See e.g. https://github.com/wejendorp/ProtoBuf.js/commit/d9f349eadaeb6585fd7687b7883d9cf489fe695d#diff-b74fe1ef8c635b16deee243c1f2adbceR467