Populate DNS when starting the weaveDNS container
Only get the DNS container IP once

`populate_dns` previously used http_call, which looks up the IP for a
container each time. I've factored the HTTP bit after the IP look-up
in http_call out, so it can be used directly. This involved switching
arguments around to make the tail call easier.
Wait for weaveDNS HTTP to be running before sending it names

This adds a no-op endpoint to the HTTP API at `/status`. The script
simply tries this until it succeeds or gets bored.
Merge pull request #200 from squaremo/issue195_populate_dns_on_start

LGTM.  Fixes #195 (apart from part 3)