Catch interrupted signals (on select, specificaly) in the connect loop

In the current build if the process gets a signal you get a backtrace like:

```
[ERROR   ] Unhandled exception in connection loop
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/kazoo/protocol/connection.py", line 522, in _connect_attempt
    [], [], timeout)[0]
  File "/usr/lib/python2.6/site-packages/kazoo/handlers/threading.py", line 250, in select
    return select.select(*args, **kwargs)
error: (4, 'Interrupted system call')
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.6/site-packages/kazoo/protocol/connection.py", line 466, in zk_loop
    if retry(self._connect_loop, retry) is STOP_CONNECTING:
  File "/usr/lib/python2.6/site-packages/kazoo/retry.py", line 123, in __call__
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/kazoo/protocol/connection.py", line 483, in _connect_loop
    status = self._connect_attempt(host, port, retry)
  File "/usr/lib/python2.6/site-packages/kazoo/protocol/connection.py", line 522, in _connect_attempt
    [], [], timeout)[0]
  File "/usr/lib/python2.6/site-packages/kazoo/handlers/threading.py", line 250, in select
    return select.select(*args, **kwargs)
error: (4, 'Interrupted system call')
```

This is due to the kazoo connection thread getting the signal and not handling the system call interrupt. It seems that your _socket_error_handling contextmanager covers that case, and with local testing it seems to have fixed the issue.
Doesn't this break the timeout that is passed in?

For example if the select.select call has a timeout of 10 seconds, then this select.select call errors out at 9 seconds, then this loop will try again for another 10 seconds (and repeat), doesn't this make the given timeout not really correct anymore?