Re-structure style guide configuration

`.hound.yml` is now used to enable/disable language support and provide the
location of the configuration file.

Example `.hound.yml`:
```yaml
ruby:
  enabled: true
  config_file: .rubocop.yml

coffee_script:
  enabled: true
  config_file: config/coffeelint.json
```

* introduce `RepoConfig` class to handle configuration fetching and parsing
* extract `StyleGuide::Base` for common style guide logic
What if instead of inheritance, we replaced `StyleGuide::Base` with composition? Something like the following:

```ruby
class ViolationBuilder
  def build(file)
    if excluded_file?(file)
      []
    else
      violations_on_modified_lines(file).map do |line_number, violations|
        modified_line = file.modified_line_at(line_number)
        messages = yield(violations)
        Violation.new(file.filename, modified_line, messages)
      end
    end
  end

  private

  def violations_on_modified_lines(file)
    violations_per_line(file).select do |line_number, _|
      file.modified_line_at(line_number)
    end
  end
end
```

Used like this:

```ruby
module StyleGuide
  class CoffeeScript
    def violations
      builder = ViolationBuilder.new

      builder.build(file) do |violations|
        uniq_messages_from_violations(violations)
      end
    end
  end
end
```