Merge pull request #2575 from fgrehm/remove-18n-deprecation-warning

Set I18n.config.enforce_available_locales to true to avoid an annoying deprecation warning
Merge pull request #2561 from emyl/synced-folder-cleanup-v2

core: Enhance the synced folder plugin implementation with a cleanup routine
core: clean up tests for synced folder built-ins
core: better synced folder plugin docs
core: update rspec, fix deprecations
core: only set I18n setting on newer versions

/cc @fgrehm - Looks like only the later versions have this.
providers/virtualbox: clean up synced folders on destroy
kernel/v2: fix validation on checksum types
core: fix exception when checksum type is nil

Thanks @johnbellone
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.
NFS/VBox: 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