Major refactor of Vagrantfile generation, to use an ERB template.

A new configuration key of `vagrantfile_erb` may be used to use
a completely different and custom ERB template file which allows very
specific or custom settings. Methods on the Vagrant Driver object such
as `config` and `instance` are in the binding scope inside the ERB
template allowing for such data as:

* `config[:kitchen_root]`
* `instance.suite.name`
* `instance.provisoner[:run_list]`

You may also put other configuration into the Driver hash which can be
used with your custom template.