in progress: trying to make tab completion work as it does in bpython.cli

Maybe need to call self.set_completion less
Maybe need to change how self.current_word (really self.cw()) is implemented
Maybe need to roll back further to try again from scratch
Maybe need to log more to see the status of self.match_iter at all times
Maybe need to instrument bpython.cli to see how it updates match_iter