ClaValidationWorker can handle newly-opened PRs.

Create PullRequestAnnotator class that handles finding the committers
of a PR, checking if they are have signed a CLA and interacting with GitHub
appropriately (comment if there are committers who have not signed a
CLA, a label if all committers have signed a CLA).

Implementation details:

* Only store name and action on PullRequestUpdate
* Create association between PullRequestUpdates and Repositories
* Adds static method to User that finds a user by their GitHub login

To note:

* The worker does not handle any different pull request event types.
* No specs were written for the code in this PR, there are pending specs
  of the outline of what this _should_ do.

To do:

* Write specs for the methods added in User
* Enforce that the Account model validates uniq on the username and
  provider
* Write specs for the ClaValidationWorker
* Write specs for the ClaAnnotator
* Comment ClaAnnotator methods