Wip/libssh

This has a number of to-be-rebased commits - I'll do so before pushing.