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 .
A common pattern we like to use is:

```ruby
class CommentsController < ApplicationController
  def create
    if comment.save
      # set success
    else
      # set fail message
    end

    redirect_to redirect_url
  end


  private

  def comment
    @comment ||= current_user.comments.build(comment_params.merge(commentable: commentable))
  end
  helper_method :comment

  def commentable
    @commentable ||= begin
      params.each do |name, value|
        if name =~ /(.+)_id$/ && valid_commentable_type($1)
          return $1.classify.constantize.find(value)
        end
      end

      nil
    end
  end
  helper_method :commentable
end
```

And then replace the instance variables in the views with the helper methods specified here.  This helps to cut down on `find` methods as well as make the views less brittle with unset instance variables.  Does that make sense?