use rl in completer

There are a few reasons for this:

- The rl API is more Pythonic than readline.

- rl has better documentation than readline.

- The rl library offers some advanced functionality that is not provided
  in Python's standard readline library.