rework Descriptor; use the convention for read and write for moving bytes and send / recv to async messages
finally fix eagain on write
rework abandoned handling to avoid preemptive interrupts
Merge branch 'rework-descriptor'