implemented setting of client info
Command refactor

  Moved Command into CommandFactory so that commands can
  only be instantiated via the factory
added hashes onto the channel names
print stack trace on execution exception
added generated node log to gitignore
tidy up some comments
adding users to channels