proper handling of files with '+' and other 'weird' characters.
everything is urlencoded.  need some levels of urlencoded dereferencing to get everything working right.