runner.py: factor out dispatch functions for simple web-api commands
localdir: tolerate a rendezvous server that loses the first message