pure bash implementation of fix_url()

This avoids constant starting of external processes (tr, sed, awk, bash) for string manipulation and simplifies handling the Msnbc podcasts. Makes `FIRSTFILENAME` local just to be nice. Adds a fix for Scientific American podcasts (whose every episode is called `podcast.mp3`). Sets `extglob` flag for better patterns. Removes the extra question marks handling (question marks were handled twice - by the awk trick on line 300 and sed on 339).

I have written a test script for just this one function that passes for both the original implementation and the rewrite.