api: make a best effort to get the right extension

Hopefully that should be enough for the most common files. The soundcloud
REST interface seems to return decent values anyhow.
api/sound: normalize filenames

Creates more beautiful filenames. I'm sure I'll have to tweak this quite a
bit but it's already cleaner for the files I tried.