enable `--name` argument for `submodule add`
simplify `submodule add` implementation
fix browser tests on platforms other than OS X

Otherwise web pages will be actually opened if the default browser
command is not `open`. Browse tests will all fail as the command will
show up in history only when the fakebin `open` acts as the browser.