After dig request errors, try to use other servers when they exist
When timing-out or having other types of socket errors during a query, dig isn't trying to perform the lookup using other servers which exist in the lookup's queries list.
After configured amount of timeout retries, or after a socket error, check if there are other queries/servers in the lookup's queries list, and start the next one if it exists, instead of unconditionally failing.
Closes #3128 (closed)