Broaden scope of houndable files beyond Ruby

A pure refactoring that should not add or remove behavior. Intended to make it
easier to add new style guides such as CoffeeScript, JavaScript, Sass, and
Markdown.

* Remove `relevant_line?` method that duplicates `modified_line_at`.
* Replace `ruby?` method with builder that determines style guide based on file
  extension.
* Remove extra `FileViolation` object, which added to the chains of objects and
  things to stub.
* Collapse `LineViolation` into newly named `Violation`.
* Introduce `StyleGuides::Null` object to fall back on for files we can't
  review.
I had been playing around with Rubocop locally in Vim. It ended up being too slow to be usable but one thing I noticed it doing was to note the lack of a class-level comment describing the responsibility of the class. I believe we had a research card for this and it was deemed a success. @jferris?