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.

Still not seeing this.

Yes, on line 329, I change `params` - in line 330 I check to see if it's an object, and if not, I fail.  Now params is guaranteed to be a `Json::objectValue` - this is all I need.

Please note that it's perfectly possible for `params` to be an _empty_ object - for example, if you request `rippled server_info` or `rippled ledger`.