Changing "except Exception" to "except BaseException"

Because a gevent.Timeout isn't an Exception. But it is a BaseException. Which
meant that Timeouts weren't getting passed up as exceptions the way everything
else was.