Use configuration to drive drivers and config
- make ChefProviderActionHandler a real class
- interface: remove machine.after_created
- interface: make Driver.new() take driver_url and driver_config, add Droiver.driver_config
- interface: remove Driver.resource_created
- interface: add driver_url to MachineSpec, remove "driver" and "connect"
- get current_driver from URL in CHEF_DRIVER env / "driver" config variable
- merge driver_options from "driver_options" and "drivers.<url>.driver_options" config variables
- merge machine_options from "machine_options" and "drivers.<url>.machine_options" and machine.machine_options
- move AWSCredentials and OpenstackCredentials to chef-metal-fog
- drive things that use Chef::Config from run_context.config instead
- delete client in NoConverge.cleanup_convergence_strategy
- drive machine :delete and :stop from current driver, not aspiring driver
- cache drivers per run context (since they have different config)