cli_monitor: Handle command arguments dynamically

The list of auto-completable arguments may depend on the command. This
patch replaces the per-command argument list with the use of a virtual
function that can be implemented per individual command. This way,
multiple commands can use the same list of auto completions.
cli_monitor: Resource-balancing support