Rename methods for adding comments

* I have a feature branch that implements issue commenting. This commit
  renames methods in `PullRequest` and `GithubApi` in anticipation of the
  changes on my branch.
* Rename `PullRequest#add_comment` to `PullRequest#comment_on_violation`
* Rename `GithubApi#add_comment` to `GithubApi#add_pull_request_comment`
Allow a user to exclude certain JavaScript files

Allows a user to configure hound to ignore specified JavaScript files.
This follows the "jshintignore" convention. If a .jshintignore file is
found and the user has not overwritten the path in the hound
configuration, it will automatically be used.

Otherwise, a user can specify the path to a file which specifies which
files to exlude during linting.

Example configuration:

```yaml
java_script:
  enabled: true
  ignore_file: ".javascript_ignore"
```

.javascript_ignore
```
app/assets/javascripts/**.js
``
Access owner information from PullRequest
Custom thoughtbot configuration for linting

Use a different set of style guide configurations when linting
thoughtbot specific repositories. This allows thoughtbot specific
projects to follow the thoughtbot styleguide closely as it is
updated without introducting changes without notice to paying customers.
Prefer reduce to inject in the thoughtbot Ruby guide

This is more inline with community conventions and is the new thoughtbot
preference.

https://github.com/thoughtbot/guides/pull/237
Add documentation around ignoring js files

https://trello.com/c/N8xHlYlK/
Synchronize db/schema.rb

Commit #1c4abc1 altered a migration without updating the database
schema; this synchronizes schema.rb with the state after running
migrations (`createdb hound_development && rake db:migrate`).
Optimize /repos page loading

* Use `/repos.json` to help browsers take advantage of ETag caching
* Include subscription relation for repos to fix N+1 query
* Add Rack::Deflater to compress potentially large responses
Don't double-paginate GitHub responses

Oktokit::Client is always initialized with `auto_paginate: true`,
so no additional pagination work is necessary. In fact, paginating
from Hound caused lists with > 100 results to return duplicate
entries and perform redundant work.
Add membership:cleanup_duplicates task
Only run a single repo_sync job at a time

It's currently possible trigger multiple calls to `/repo_syncs`
from the UI, by clicking the refresh link multiple times, or
reloading the page near the start of a sync.

This change ensures that `/repo_syncs` will not enqueue multiple
synchronization jobs at a time.
Fix Security Documentation

Document that we store user's GitHub token
during the "refreshing repos" phase.

Fix documentation to change that
we do not store the token
when enabling repos.

https://trello.com/c/qnFa7l7A/404-fix-security-documentation
Add tasks to remove duplicate data
Upgrade to cedar-14 stack
Remove error handling from GithubApi#create_team

This was introduced by 383c76a to fix an issue when caching against
GitHub, but that is no longer enabled.
Update status on GitHub to show Hound activity

https://trello.com/c/WZ2ERUc7/420-use-github-status-api-to-report-hound-progress
Bump Rails version to 4.1.7

* http://www.schneems.com/2014/11/07/i-ram-what-i-ram.html
Split out violations into separate table

  * Makes `Violation` inherit from `ActiveRecord::Base` and adds associated
    table
  * Adds `has_many :violations` association to `Build`
  * Updates creation of `violations` in `style_guide`'s
  * Adds `violation` factory

https://trello.com/c/OLdRI0mO/336-split-out-violations-into-separate-table
Remove serialization of violations_archive on Build

Follow up to https://github.com/thoughtbot/hound/pull/493. We have no need to
serialize this data.
Rescue requests that set status

Setting a pull request status requires at least "push" permissions. When we
create "Services" team for Hound we only set "pull" permissions, which is not
enough to create statuses.

Note: that this affects about half the organizations, since we will add Hound to
an existing team, if it meets certian requirements.