[Breaking] Update signature of Driver.required_config block.

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:

    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:

    class Kitchen::Driver::SharkCloud < Kitchen::Driver::SSHBase

      required_config :fonzie do |attribute, value, driver|
        # custom logic...
      end
    end
Merge pull request #172 from opscode/driver-required-config-update

[Breaking] Update signature of Driver.required_config block.