allow setting file names on upload and download

In order to integrate mega.py as duplicity (http://duplicity.nongnu.org/) backend for MEGA, I had to slightly adapt the code.

This patch extends *upload* and *download* to set the resulting remote or local filename, respectively. Since duplicity creates tempfiles for each download/upload, remote filenames differ from the local counterpart.