Fix client/server-side analytics race condition

We are seeing bad analytics data in Mixpanel because
we are not aliasing guests into users.

https://mixpanel.com/docs/integration-libraries/using-mixpanel-alias

Segment.io strongly recommends doing this client-side:

https://segment.io/docs/integrations/mixpanel/#alias

Restrict user-facing flash messages to a known whitelist
so we don't accidentally send `flash[:signed_up]` to the view.

https://trello.com/c/ZzJdRvJu
Update tagline to include JavaScript, CoffeeScript
Use existing webhooks

https://trello.com/c/9I7EgBue/372-fix-subscription-issue

* Subscriptions were failing when webhook already existed, this change
* fixes the issue by using the existing webhook.
Add pull request info to Build model

* add `commit_sha` and `pull_request_number` attibutes
* extract stub helpers in pull_request_spec
* dry up tests
Handle nil violations
Don't review JavaScript for indentation mistakes
Update regular expressions for file type checking

* Match file extension to end of string
* Match file extension with one or more leading characters
Update reports
Accept org invitations after enabling Hound

https://trello.com/c/ru1udGS2/370-use-new-memberships-endpoint-when-adding-hound-to-github-teams

* Create job that accepts org invites
* Enqueue invitation job during subscription and activation
Use new Membership API when adding Hound to teams

https://trello.com/c/ru1udGS2/370-use-new-memberships-endpoint-when-adding-hound-to-github-teams
Create task to run all reports
Disable request cache

https://trello.com/c/1u4yFes1/374-disable-request-cache
Remove of deprecated rspec-mocks methods

The "stub" syntax in rspec-mocks was replaced with "allow" syntax in
RSpec 3.
Eliminate warnings from using GitHub's preview API

If you don't explicitly add the `accept` option, Octokit prints a
warning to STDOUT every time you use part of the preview API.

There are no remaining warnings from GitHub after this change.
Use default show_exceptions value of false

Enabling this hides exceptions during integration tests behind an HTML
500 page, which makes debugging much harder. It can also hide errors, as
the test can render a 500 and still pass.

I didn't have redis running locally, which caused one test to fail. With
the previous setting, it took me 15 minutes to find the failure. With
the new setting, it immediately prints an error about redis.
Introduce a single subscription plan

https://trello.com/c/Cl6H6nIU/378-update-pricing

* Simplify pricing by having only one plan
* Reduce the price for organization repos
Update account page to support deprecated prices

https://trello.com/c/Cl6H6nIU/378-update-pricing
Add repo_id to Stripe metadata

* Combine `RepoSubscriber` specs