Fix datarace when UDP/TCP connect fails and we are in nmthread
When we were in nmthread, the isc__nm_async_connect() function executes in the same thread as the isc__nm_connect() and on a failure, it would block indefinitely because the failure branch was setting sock->active to false before the condition around the wait had a chance to skip the WAIT().
This also fixes the zero system test being stuck on FreeBSD 11, so we re-enable the test in the commit.
Closes #2314 (closed), #2332 (closed)
Edited by Ondřej Surý