Use a id_map implementation for SwitchMap

That way parameter definition order is respected when writing
command doc strings.
Replace CommandManager::register_command*s* with register_alias