Obligatory "lrn 2 run dnsmasq" comment.

With that out of the way, the logic may be slightly incorrect/unclear; this really should have tests around it, especially considering the error case. I can foresee a situation where an intermittent resolver issue which would result in a successively smaller set of `@@destinations` over time. Basically `@@destinations` is only ever going to get smaller over time, since destinations call fall out of the list, but never "come back" except with a process restart.