Change dynamic command handling

Now dynamic command can define its own commmand line paramters, even
sub-commands and decide what they do.
Also normal implied dynamic commands now actually get ran after parsing,
so that we can populate the command line etc information.