1.) fix a bug which caused coredumps when starting with no mode arguments
2.) move to table-lookup for mode-specific command parsing as well.
all command matching is now table-driven.
table lookup. This will make prefix matching and so on easier.
Expect a similar change for mode-specific commands before too long.
While there, rename some structures with misleading names.
Watch this space for more changes soon.