Allow config files to override default config values

This fixes #154. 

I added a feature file. This test the new sample class camel_case which contains two variables that would normally reek but has been redefined not to. Another variable that should still smell under the new config values and finally a third variable that should not smell (it's a default but it has been overridden to default value).

The only code change was in smell_configuration where I used merge! from the Ruby API. I did not delete the adopt! method in hash_extensions because it was still used elsewhere. 

I also added specs tests to check nothing was broken with the new change.