Fix authentication with public key from file.
Correctly set IOCondition from libssh2's Direction
Change SSH2.Session's generic type to minimise compile warnings
Change concurrency model

Move to totally non-blocking IO and allow writing in the remote TMux instance
only from the process_io coroutine. To make this work, there is an added queue
of commands to be dispatched to TMux. When an event needs to go out, it gets
added to the queue, and the current read operation is cancelled, the write
operation is performed and, when complete, the read is restarted.
Release v1.14