Split upload into "presenter" and "command" parts.
Added missing "onAbort" notification.
Handle "close" operations (i. e. close or abort) correctly when applied to
a not-yet-ready channel.

A channel may be closed or aborted before it is ready for data transfer,
i. e. before a previously applied "open" operation has finished. In this
case the "close" operation has to be delayed and needs to be executed as
soon as the "open" operation has succeeded.
Don't read another slice when slicing has been aborted.