echonest: extract logic into prepare_upload method

Also fixes a bug where both converting and truncating would leave a
temporary file.
echonest: truncating a file converts it to OGG

Previously ffmpeg would throw an error because the file extension is
'.ogg' but the codec is 'copy'.
echonest: test different methods to fetch songs