Commenting

Add commenting feature to Hacker News clone. Also formalizes the relationship between `Articles` and `Users` and includes stylistic changes and some basic refactoring. Resolves #12 .
This was the part of the JS that ended up being frustrating to get working correctly. If I didn't have `slice(0,3)`, then `buttons` would contain every single child element with the `.btn` class of the current comment, including the buttons that were tied to the nested comments. This meant that pressing a reply button on a nested comment would cause the forms to become visible for the comments further up the tree as well. Doing `slice(0,3)` gets only the buttons associated with that particular comment, which end up being the Reply, Submit and Cancel buttons. Since I didn't particularly want the Submit button to toggle the elements, I did `buttons.splice(1,1)` which removes the second element from the `buttons` array.

I tried doing one line `var buttons = [$(this).find('.reply-button').first(), $(this).find('cancel-button').first()];` but that would fail on adding the `click` event. From what I could gather online, it had something to do with the fact that it was making an array of JQuery objects when it needed Javascript objects (or vice versa). I could have either selected the Reply and Cancel buttons individually and did `replyButton.click...` followed by `cancelButton.click...` or done some kind of loop and logic over the elements of `buttons`, but it seemed like it'd be a pain. Still, I'm not a huge fan of this approach, so if there's something simple that I missed (probably the case), I'd love suggestions.