Add upload for remote targets

- Create a `chain`-like object which performs an SFTP PUT to the home
directory of the SSH user to enable uploading files as part of a script.
- Still needs some thought about what to do with local targets, scripts
using this running locally will currently fail.