A few RPC refactorings
This branch refactors the Update sink out of the RPC context, and uses a single mpsc channel for all responses to ensure that they are well ordered.
(I've got more WIPs here, but this seemed like a good amount to pass over so there would be something to review on Monday.)
Closes #824 (closed). Closes #817 (closed)