Add support for "oneof" keyword

[Protobuf 2.6 was released](https://groups.google.com/forum/#!msg/protobuf/lvI8-sWZbUY/2_a8LVDMi5YJ) today. We should add support for `oneof` keyword field definitions.

> Added oneofs(unions) feature. Fields in the same oneof will share memory and at most one field can be set at the same time. Use the `oneof` keyword to define a `oneof` like: 

```protobuf
  message SampleMessage { 
    oneof test_oneof { 
      string name = 4; 
      YourMessage sub_message = 9; 
    } 
  }
```