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.
This was to make debugging easier. I wanted to see "good" or "bad" names for the mocks in one spec but was getting "modified_file" for both.