Fix major missing pieces in server-sent consume cancel.
Fix race between server-sent and client-sent cancellation.
Document on_cancel callback.
Make test output clearer.
Expect server to send heartbeats as promised.  If it doesn't, go President Madagasgar on its ass.
Also do a heck of a lot of safety rearrangement and eliminate bad circular references.