CompletionModel: wipe out the current implementation

Keep the maximum for the new implementation.
There are also a few minor changes.
CompletionModel: separate functions into sections
CompletionModel: the new data structures
CompletionModel: implement the GtkTreeModel interface