Don't check for line presence in the latest commit

This fixes an issue that Hound wound't comment when multiple commits got pushed
to a PR at the same time. As it was, Hound would check if only the head commit
included the line with violation -- resulting in no comment if the violation
came in the previous commit.

Instead, simply check if the violation on the line was previously unreported.
Add account page

* show repo totals
* show a list of billed repos
* refactor external customer data fetching to `PaymentGatewayCustomer`

https://trello.com/c/6AyMCv1t
Re-structure style guide configuration

`.hound.yml` is now used to enable/disable language support and provide the
location of the configuration file.

Example `.hound.yml`:
```yaml
ruby:
  enabled: true
  config_file: .rubocop.yml

coffee_script:
  enabled: true
  config_file: config/coffeelint.json
```

* introduce `RepoConfig` class to handle configuration fetching and parsing
* extract `StyleGuide::Base` for common style guide logic
Support legacy config
Document new configuration setup
Re-factor StyleGuide for ease of type addition

This change makes it easier to understand `StyleGuide::Base` inheritance. The
template method pattern makes it easy to scale style guides to scale
horizontally: just add the new language style guide and inherit off of `Base`.

Changes:
* add `Violations` object to manage unique violations
* refer to modified lines as changed to make it easier to reason about
* introduce `UnchangedLine` class
Allow subscription to be created and deleted without refreshing page

https://trello.com/c/l2vLI2yj/353-address-repos-with-subscriptions-that-weren-t-enabled
Allow non-paying users to unsubscribe

https://trello.com/c/SrdebCDE/345-ensure-that-only-repo-payer-can-disable-it
wip: onboarding modal
Move content back to homepage
Add modal