[RPC] Introduced primitive<T> protocol template.

In order to simplify the RPC subsystem for service methods which only return a value and close the
stream, a new protocol is introduced - `primitive<T>` based on two mutually exclusive final messages
`value<T>` and `error`. Non-streamable, oneshot.