seems to be getting similar output as cl2.py now

Try to get closer to "feature parity" with cl2.py.

Hopefully this organization of the methods and source will make
debugging the careink protocol a little more obvious.

It's clear there are some special things that need to happen, namely
figuring out how and where to retry what and when.