Implemented TAB-completion for functions.

  The completion handles both built-in primitives we support,
 and user-defined functions via the on_complete function:

        http://lumail.org/lua/on_complete.html

  The completion is also updated to work on all "tokens", whereas
 before it just worked on the first word of the input.

  This update and almost completes issue #47.

  TODO: filename/dirname completion.