Backwards compatibility checks for incompatible settings

I found a bug in my previous commit. 

With the new config file, you can give a --file option to tell what file to work on. This fails when using the old style config, since that has no files. I now throw an error when someone tries to define a --file=foo but is using the old config.
I wrote some cucumber stories that explain the bugs and then fixed the bugs. 

The method that should test this, was not used. It is removed and refactored into the Config model, which is where it should have been. This new method on Config is specced with Rspec. Rspec has therefore been refactored a little, since I introduced some duplication otherwise.

I am now fixing some more issues with the --files which are slightly unrelated. This will be a separate pull-request.