Added CmdHandler to make handling commands easier.

* Consistently applied prefix.
* Constant time lookup.
* Abstract away Msg and send channel.
Added back msg.Extract* methods.