tests: split up make_nodes(), creating make_connected_nodes()
test.common: change make_connected_nodes() to bypass invitation
simplify the way polling is disabled
tests: add_new_channel() now bypasses invitation

Thethe old function is now called add_new_channel_with_invitation().
test_channel: stop using invitations when building new channels
add-channel-with: use poll-until-complete, instead of manual poll() calls

This will make it possible to exercise the HTTP-based invitation
sequence, which needs (localhost) network calls and can't be manually
polled.
inviteIDs must be strings, not unicode
web_client: handle no-messages correctly
make localdir/relay mutually-exclusive

That means "create-node --relay-url" disables the localdir client. Once
the HTTP client is working properly in tests, localdir will be removed
entirely.
add http-based invitation test

This waits for the HTTP poller to finish. The poller accelerated (from
1/60s to 1/0.5s) to make the test finish in a reasonable time. When the
web relay client can do Server-Sent Events, this polling will be
unnecessary and the process can finish arbitrarily fast.

The test waits for all pending HTTP requests to retire before shutting
things down. Without that, the test would finish (and the relay stopped)
before the last two "destroy" messages had landed.