Private message support

merge the private message support branch into master, allowing for PM and channel message support without any extra work on the part of the command developer. This merge resolves issue #35