Support file:// urls containing URI escaped characters. Fixes Issue #545

This commit allows the visit() method it accept file:// url's containing spaces (optionally uri escaped as %20), and other uri escaped characters. It does not treat '+' as an escaped space.  That will require further work.