Refactored some of the error handler to make the WHY more clear
Merge branch 'timeout-fix'

Since the timeout-fix involved refactoring the error handler, I ended up being
able to ditch the azure-specific changes to the error handler since we return
INT_CANCEL by default instead of INT_CONTINUE.

Conflicts:
	ext/tiny_tds/client.c