Adds FileTransfer plugin support

Adds a wrapper for the FileTransfer object, with `upload` and `download` methods that return promises.