Improved ability to send RPC replies

When sending a reply to an RPC method, it's possible that the
initial RPC message with the body Trove cares about is sent but
the "end" message won't be if an exception happens in between.
With the recent improvements to the resilient receiver it turns out
this can be a big problem as it may resend the same bits of the
message over and over, which will be rejected as Trove has already
seen them and doesn't care.

The fix is to make the process of sending this message back stateful
and keep that state outside of the typical connection classes.