core: note Ruby and RubyGems version in logs
commands/plugin: ignore default gems when pruning

For modern RubyGems compatibility
VirtualBox shared folders: remove dedicated cleanup action in favour of native routine.
commands/ssh-config: fix for multiple private keys

since we merged multiple private keys, the :private_key_path item of
ssh_info now comes back as an array. the ssh-config command had not yet
been updated to handle this properly.

here we fix that oversight and add a few unit tests around the config
generation.
Merge pull request #2577 from emyl/vbox-sync-folder-cleanup

providers/virtualbox: remove dedicated cleanup action for shared folders
Merge pull request #2581 from phinze/ssh-config-support-multiple-keys

commands/ssh-config: fix for multiple private keys
commands/plugin: tests for state file
commands/plugin: state file keeps track of the Vagrant version
commands/plugin: old state files default to 0 for vagrant version
core: request users upgrade plugins if they're old
provisioners/chef: create/chown backup folders [GH-2281]
Fix plugin loading

Regression from d354cdd.
Fix `vagrant plugin` commands

`StateFile#installed_plugins` returns now a Hash instead of Array.

Fixes regression from 39b2539.
Merge pull request #2583 from tmatilai/plugin-regressions

commands/plugin: fix plugin regressions for new state file
provisioners/docker: Ensure checks for whether the container exists / is running works accross multiple Docker versions [GH-2579]
provisioners/docker: Extract container lookup method
Merge pull request #2579 from mitchellh/2579-fix-docker-container-running-check

provisioners/docker: Check for whether the container is running is not working properly
Add missing argument to ProviderVirtualBox::SyncedFolder#driver call

GH-2577 missed passing the `machine` to the `driver` method.
Merge pull request #2586 from tmatilai/2577-synced-folder

provider/virtualbox: add missing argument to ProviderVirtualBox::SyncedFolder#driver call
fixed broken link