Support dynamically defined Vagrant machines

When defining multiple Vagrant machines in Ruby, the machine names need to be collected in a different way than before:

```
  config.vm.define opts[:name] do |node|
    # do something
  end
```

As it would not be efficient to parse the Vagrantfile just to find out these names, we're looking up for created machines in the .vagrant/machines/ folder.

See also #2810.