Fix return value for recv_chunk_start when file doesn't exist

Only open the data connection when we know we can transfer data (i.e.
the file to be dowloaded does exist, the file to be uploaded can be
opened, etc.). This fixes the return value of ftp:recv_chunk_start
too, because now we return an error instead of the 150 code.