Check to make sure user doesn't exist before adding

* Changed how MessageHandler is instantiated through Connection.
* Added check to make sure a user doesn't already exist in the users
list before attempting to add them.