Updated basic UI to dispatch blocks on main queue

DLSFTPConnection dispatches success/failure blocks on global queue, to avoid blocking the main queue.
So all of these completion blocks need to process UI updates on main queue

Also retain connection in LoginViewController to prevent it from being deallocated
Test for queuedFailureBlock before dispatching it
Add removeDirectoryAtPath method

libssh2_sftp_unlink doesn't work for directories
Completed tests for list, mkdir, rmdir