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
I feel like this metaprogramming is hurting readability and clarity. It seems simpler to me to have straightforward methods on the style guide classes:

```ruby
def enabled?
  repo_config.enabled_for?("ruby")
end
```

That would also help us release the dependency on `repo_config` to cross parent and children boundaries.