Working TAB-completion.

  This commit allows tab-completion to work correctly:

    * The completion works on any substring of the available
      choices.

    * Ambiguities are handled.

    * The reading of lines uses std::string.

  This updates #90.
  Call the new get_line function.

  This is part of #90.