CommandManager now throws on unmatched command

b/c why should the chat room see invalid or mistyped commands?
Merge pull request #749 from philchuang/handle-invalid-commands

CommandManager now throws on unmatched command