Fixed up de-duplication issues

This finishes up the de-duplication of adding users to a conversation as well as adding a conversation to a user's conversation list.  It should also restore functionality to many things that are currently broken on master.

Conversation.js is getting a bit messy and bloated, perhaps a refactoring should be considered in a future PR.
There's a few places in the added code where I think we still need to add a space between function and parentheses. I noticed that most of our top-level functions (such as exports.create) have this problem too. I'd say that the best thing to do is to leave the existing top-level functions as is and we can do a refactoring of those later. We can apply the spacing between the end of function declarations and the beginning of parentheses for any new code that we write.