Completer Objects
-----------------
Completer objects have the following method:
`complete(text, state)'
Return the STATEth completion for TEXT.
If called for TEXT that doesn't include a period character (`.'),
it will complete from names currently defined in `__main__',
`__builtin__' and keywords (as defined by the `keyword' module).
If called for a dotted name, it will try to evaluate anything
without obvious side-effects (i.e., functions will not be
evaluated, but it can generate calls to `__getattr__()') upto the
last part, and find matches for the rest via the `dir()' function.