remote-run uses rsync instead of sftp server. Some of the tests were
incorrectly labelled as requiring sftp server. Fixed those and replaced
the requirement with rsync.
The current remote-run implementation only works if rsync is located at
`/usr/bin/`, which isn't always the case. FreeBSD installs rsync to
`/usr/local/bin` as it is not installed in the base system by default.
Relax the script to accept rsync on any path.
Not only does this give us a huge speed-up, it also works around a problem
where sftp doesn't always update the modification time, which causes random
test failures.
rdar://88179140
This is mostly important to allow remote-run to be used to upload
files generally, while still using the same interface and arguments
that will be used to actually run executables.
(instead of locally)
The primary use case I'm looking at is easier testing across macOS
versions, but it could also be used for cross-compilation tests in
general (someday).