Remove ! from the end of internal methods

I don’t know what I was thinking, but these methods should not have had ! in their names.
Apply some small optimizations to the reactor loop

* Remove an unnecessary parallel assignment
* Use real blocks instead of Symbol#to_proc
* Use wrap some code in an unless instead of using next.
Rewrite the before-select socket sorting logic

To check that the socket is not closed is unnecessary, it cannot be both closed and connected, connecting, etc.
Remove the need for taking a lock when asking a socket if it’s writable
Make writable? include !closed?
Extract the timer scheduling from the reactor loop body