specific error raised when all nameservers fail

I wouldn't call it a bug per-se, but I did find it a little confusing when dnspython was raising a 'NoNameservers' exception when it had actually been supplied with name servers, but they had all failed for one reason or another (I'm manually specifying nameservers rather than relying on the OS defined ones).

This commit creates a new 'AllNameserversFailed' exception, which allows for more fine-grained control over error conditions.