remote_port: allow connect to port 0

Port number zero is perfectly allowed to connect to. I moved to storing
the remote port number in an int so that -1 means undefined and 0-65535
can be used for legitimate port numbers.
parse_remote_port: error out on illegal port numbers better
ssh: Pass errors from libssh2_sftp_read up the stack
ssh: Fixed a style warning

Also, combined a couple of #ifdef sections
ssh: fix compiler warning converting ssize_t to int