Problem: Calling a Vim function over a channel requires turning the
arguments into a string.
Solution: Add the "call" command. (Damien) Also merge "expr" and "eval"
into one.
Problem: When the port isn't opened yet when ch_open() is called it may
fail instead of waiting for the specified time.
Solution: Loop when select() succeeds but when connect() failed. Also use
channel logging for jobs. Add ch_log().
Problem: When the server sends a message with ID zero the channel handler
is not invoked. (Christian J. Robinson)
Solution: Recognize zero value for the request ID. Add a test for invoking
the channel handler.
Problem: Python test server not displaying second of two commands.
Solaris doesn't have "pkill --full".
Solution: Also echo the second command. Use "pkill -f".
Problem: Crash when the process a channel is connected to exits.
Solution: Use the file descriptor properly. Add a test. (Damien)
Also add a test for eval().
Problem: Can't reliably stop the channel test server. Can't start the
server if the python file is not executable.
Solution: Use "pkill" instead of "killall". Run the python file as an
argument instead of as an executable.