Fix #250 (Tab completion jumps to one option) by completing on the alias name instead of the function the alias mapped to.

Change our usage of readline to put the readline call in the main thread, but have it block on stdin in a different thread.  This prevents multiple threads accessing the cli object during completion functions called by readline.