First pass at support for channel.credit, and a test.
Drain test was wrong.
Credit needs to be per ctag.
Test returning a basic.credit-state after receiving a basic.credit.
Test sending a credit-state when magical draining happens + refactor.
Change mind again on how this should work - have a synchronous reply method, and an async method for spontaneous notification.
Remove redundant fields from credit-ok.
Merge in default and debitrot.
This helps diagnose things.
Update count, tests pass.
Merge bug23749 into junk