Marionette testing and network simulation

This adds Marionette testing via the `npm run-script marionette` command, and also a script to change the local network setting between the proxy and the client.
You can use it with `npm run-script networksimulation EDGE|HSDPA|LTE|default` (use `default` to restore default config).
There is a lot of redundancy here, the only thing that changes are the `args` strings and CLI commands. Let's just pass those to a generalized function instead.