dns_cache::lookup_and_run fixed so it can be called from a fiber without leaving a mutex locked around its sub-fiber start