Raise EmptyPoolErrors when the pool is, uh, empty.
Remove apparently unnecessary SocketTimeout catch.
Split TimeoutError into own branch.
Handle SSL errors that might be timeouts lower.