Implement ability to have user interrupt :Eval when using if_pyth by using select() instead of blocking sockets

Mainly like the title says.

Some possible questions / design decisions:
* Assumes that you will connect to your nREPL server in 8 seconds. Is this okay?
   * This should seem fine, and shouldn't be a program even to lunar bases. Won't work for Mars :P
   * This is uninterruptible.
* Sending of payload is uninterruptible.
   * If someone wants to :Eval a 10 MB .clj file over the network, I say we let them.
   * Will s.sendall() ever cause the server to block or go into an infinite loop because the server starts evaluating the code?
* Warning / Documentation about Escape to "safely" interrupt?
   * Ctrl-C also "quietly" interrupts, but I get a feeling it is a direct return from VimScript, possible leaving things in an inconsistent state.