[Mono/Linux] Make URL opening compatible with Mono/Linux.

URL opening functions use empty string as 'arguments' to RunProcess().
This results in empty string being passed as second argument (in case
of Mono/Linux) to xdg-open, e.g. xdg-open "http://google.com" "".

Unfortunately, xdg-open gets confused when more than one argument
is present:

    xdg-open: unexpected argument ''

Rework URL functions so they pass null as 'arguments' to RunProcess().
Also, ensure PrepArguments don't try to String.Format the null string
as doing so results in empty string being produced (which, again,
creates an issue for xdg-open).