Detect invalid configuration keys

This patch makes it so incorrect keys are detected and treated as errors.  For example, given:

```ruby
...
  config.vm.provider :rackspace do |rs|
    rs.username = ENV['RAX_USERNAME']
    rs.api_key  = ENV['RAX_API_KEY']
    rs.region = :syd
  end
...
```

Previously, when you ran `vagrant up --provider rackspace` it would ignore the unknown key, and start VM using the default region (likely :dfw).

With this patch you will get an error:
> RackSpace Provider:
* The following settings don't exist: region

Note: it is implemented by using the [Config#\_detected_errors](http://rubydoc.info/github/mitchellh/vagrant/Vagrant/Plugin/V2/Config#_detected_errors-instance_method).  The method isn't mentioned in the plugin validation documentation, but is commonly used by other plugins and providers.