fix %20 routing issue in new firefox and chrome builds

In the most recent build Firefox is now having issues when there is no param value due to the lack of a null check in the previous code to address's firefox nonstandard handling of %20 values. Plus, Chrome is now incorporating whatever change was making Firefox behave badly in the first place.

So _ffix(param) is changed to simply test the existence of param and if it exists replace %20 with a space no matter the browser. This should be unnecessary, but isn't. It's probably wise to rename _ffix to something like _percent_20_fix, but I didn't want to muck around in case it's in use in multiple places.