Add ability to use rsync rather than cp on remote

This enables finer control (via excludes) when seeding the destination
directory for rsync. Because we know we have rsync available, we can use
rsync rather than cp by using configuration like this example:

	  strategy: rsync
	  rsync:
		copy: true
		copy_tool_rsync: true
		rsync_excludes: ["assets", "silverstripe-cache"]

The default tool remains cp, so this change is backward-compatible.