Choose ports dynamically

ran grunt test.
Firefox is broken at the moment (https://github.com/uProxy/uproxy/issues/450).  I would just leave this be, then once we fix that issue we will do an end-to-end test of firefox.  If the socks5 port number is wrong, proxying won't work at all, so we'll be sure to notice this