[Breaking] Update signature of Driver.required_config block.

**Note:** this change does not appear to affect any drivers currently in the wild (using GitHub code search)

---

Now a reference to the driver object will be passed into the block which
helps generate a better default error message and allows for more
complex validation logic (using the new computed defaults).

Before this commit, a Driver author could have custom validation logic
for an attribute with the following:

```ruby
class Kitchen::Driver::SharkCloud < Kitchen::Driver::SSHBase

  required_config :fonzie do |attribute, value|
    # custom logic...
  end
end
```

With this change you need to pass in one additional argument:

```ruby
class Kitchen::Driver::SharkCloud < Kitchen::Driver::SSHBase

  required_config :fonzie do |attribute, value, driver|
    # custom logic...
  end
end
```