Refactors ability.rb for readability

Keeps functionality and passing tests from spec/controllers/article_controller_spec.rb but is more readable and easier to understand.

Ability.rb had lots and lots of if/else statements. This commit reduces them to only a couple of necessary ones. Also some calls inside the statements were extracted to methods because there was a lot of duplication going on.