[cli] Rewrite the CLI to be extensible with a generic engine

This also breaks backwards compatibilty with the old command syntax.
Particularly, robot output is now accomplished with `--robot=<format>`.

          METACLASSES

    METACLASSES  EVERYWHERE