Handle local download

* Studiomelipone redid all whitespace and used 'cache!' to get the file.
* I changed the filename retrieval from '.to_s' to '.file.file' because .to_s did not re-base the filename.
* I also made it possible to have a nil aes_key configured when downloading.