Move longest/sharedPrefix into Completer.
Better handling of TAB when completing.

If our current string is actually a prefix of one or more matches, then
restrict the completion to the prefix matching entries and extend our current
string to the longest shared prefix thereof.
Make our (hacky) ~ expansion work again.
Reinstate setting glob from completion.

When we expand ~ into the home directory, we want it to work.