Fix command completion

Using the colon as prefix for both shortcuts and commands revealed a quirk
of the Jline2 Argument Completer.

E.g. Completing ":s a" offered the candidates for all ":save", ":show"
and ":set" commands, due to the common prefix.

Fixing this in JLine2 ArgumentCompleter itself does not seem trivial, so adding a
subclass here which is limited but acts more strictly as we need it.

Added more tests, and also completion for the alias command
(copy-pasted from help command)