Split the `T` and `R` paths in the proto decoder.

If you are a server, there should never be an `R` type message to decode. So handle this explicitly by splitting the encoder and decoder path into two.
Introduce the encoder path.

Enable encoding of Venti messages. This is needed for a Venti Server to implement the parts of the protocol that has to do with responses.