Add BundleCheck pre-commit hook

Add a hook that checks that a `Gemfile.lock` matches the given
`Gemfile`/gemspec, similar to the `PostCheckout` `BundleCheck` hook.
They are meant to compliment each other.

Change-Id: I34e9cbcc58bb873d20a74bfa62b25ff1671bbe95
Disable IfUnlessModifier in Rubocop config

This is really noisy and not that useful, especially when the one-line
body of the if/unless is very long.

Change-Id: Iaed16dfb0e8c89997784b5b7c1b15ec0e2e9f8f8
Disable AssignmentInCondition check in Rubocop config

This check was noisy and goes against a style we employ rather often.

Change-Id: Ic090e973cae580b9e9baf900df77fc240230b62b
Add JavaScript code style checker

Add pre-commit hook that runs modified JavaScript files against `jscs`.

Change-Id: I9c4322f2c81c50842ca8345916be9f5a0a3c2d4f
Merge Reporter into HookRunner

The `HookRunner` and the `Reporter` class were initially separated to
try and decouple the logic of displaying results from the logic of how
to run the actual hooks.

Unfortunately, these two concepts are tightly-related. For now, merge
them together.

Change-Id: I6f284c0fdf4a619c91ede53e04c06f3445d1d4c4