This is the simplest thing that works, is consistent with what happens
if there's a local answer, and avoids having all multicast requests
last 250ms or more.
Since we're no longer waiting *at least* the timeout period, I've
bumped the multicast response timeout up to half a second.
There was also a bug whereby the query would be entered into the
inflight map even if the socket write had failed (and the channel had
been closed).