Add ICommands.HasCommand() method so that we can detect whether a command has already been registered without needing to also run it
minor: add method doc to ICommands.HasCommand()