py3: don’t subscript socket.error

On Python 2, socket.error was subscriptable. On Python 3, socket.error is an
alias to OSError and is not subscriptable. The except block passes the
exception to self.send_error(). This fails on both Python 2 (if it was
executed) and Python 3, as it expects a string.

Getting the attribute .strerror works on Python 2 and Python 3, and has the
same effect as the previous code on Python 2.
14 jobs for topic/stable/py3-oserror-strerror in 51 minutes and 52 seconds (queued for 9 seconds)