Change description of plugins to avoid self referencial definitions. e.g. 'destroy' will destroy your VM
fixes tcp and udp on the same port number GH-1108, GH-1109

fix a bug in forward_port_definitions() in Action::ForwardPorts
Fix failing test on 1.8.7
Merge pull request #1232 from paulmars/master

Altered messages so they were _not_ self referencing.
Get rid of the old Environment#vms calls. Use #machine everywhere.
Move config loader order out from an ivar into a param for the #load
method
Load the configuration per machine, so that provider boxes work

Boxes are provider-specific, and we don't know the provider until
Environment#machine is called, so we need to build up the machine
configuration during this time.
Get machine tests passing again with new environment
BoxCollection#find should only find V1 box when searching for vbox
No need to call `load!` anymore, since it doesn't exist
Don't error if box doesn't exist on load
Add in some logging
Better logging for the box collection
Warden only logs an error once
Change log levels of some messages that are useful
Basic upgrade support for the `vm` config settings. VERY basic.
V2 config supports the concept of an "UNSET" value when doing merges

This value should be used as a default, and allows the parent `merge`
method to "just work" most of the time.
When upgrading V1 `vm` config, don't set on new if it wasn't set before
Begin work on supporting provider-specific configuration

This works by registering a `config` with `:provider => true` with the
same name as your provider. Vagrant will then automatically configure
the provider when `config.vm.provider` is used.
Environment#default_provider