dighost.c: don't call check_if_done() twice successively
The check_if_done() function can pass control back out to dighost_shutdown() (which is part of dig.c, host.c, or nslookup.c), and calling that twice can cause unexpected problems, if it is not designed to be idempotent.
Since cancel_lookup() calls check_if_done() implicitly, don't call check_if_done() again when 'next' is NULL.
Closes #4039 (closed)