fix bug in token deserialization

  * clean up code a bit

The following code failed before my fix:

```
byte[] serialized = TEST_TOKEN_MSG.serialize();
VerifiableMessage<Token> r = VerifiableMessage.getDefaultInstance(Token.class).deserialize(serialized);
assertEquals(TEST_TOKEN_MSG.getPayload().getUserName(), r.getPayload().getUserName());
```