ftp_nlist can return a false value rather than an array for folders which don't exist.
Allow non absolute paths when using FTP

chrooted environments caused issues trying to detect folders. If no leading slash then it's relative to the users home dir.
Add force flag to skip checking remote server.

When deploying a large project (~10k files) the initial task of building the file list to deploy (detecting exists()) can take ~30 minutes with the --full flag. Most of that time is in checking remote files exist, by forcibly skipping that step (as I know the remote server is empty) I can cut it down it to ~20 seconds.