fix the serialization of void in compact_protocol.rs
fix the serialization of void in compact_protocol.rs

Summary:
There is a bug in the compact protocol where:

```
fbthrift::compact_protocol::serialize(MyObjExn::Success(()))
```

... will panic because:
* the `EncState::field` contains an entry for the `()`,
* `EncState::field_end()` asserts that `EncState::field` was consumed,
* where the consumption is in `write_field_id()`,
* which is called by `write_i32`, `write_i64`, etc.,
* but there is no `write_void` (it's not even in ProtocolWriter),
* so we panic.

This diff fixes the problem.

Reviewed By: dtolnay

Differential Revision: D20885479

fbshipit-source-id: fd62283f789b9fc0e7e1bc7e2aa5367458d3c51d

facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift