Streaming rpc

Here it is, the streaming RPC changelist!

I spent a long time cleaning it up into as few independent changelists as possible, and I hope it's readable for you.

`transactionYieldCount` is const 0 right now. When will that change? Is it going to be configurable?