Fix error reporting bug

There's no "command" variable; it should be "cmd". This bug causes it to print an unhelpful exception if the Docker command fails.
Merge pull request #3654 from mithaler/patch-1

providers/docker: fix Docker error reporting bug
Update CHANGELOG.md
commands/reload: if --provision is present, force provision [GH-3657]
guests/*: setup rsync_pre properly
guests/windows: nicer error if winrm not in use to configure networks [GH-3651]
providers/docker: can set default provider to docker [GH-3662]
core: public_send vs send when merging configs

This fixes the problem when config keys collide with Kernel/Object
methods (private). An example is `exec` which is used in vagrant-exec
plugin.

Compare:

> old.send :exec
ArgumentError: wrong number of arguments (0 for 1+)
> old.public_send :exec
=> #<Vagrant::Config::V2::DummyConfig:0x007fe212cc05c8>
providers/docker: Rename test files for consistency
providers/docker: Container links are an array, not a hash
providers/docker: Add required configs and specs (build is green now)
providers/docker: Ensure long flags are used
Merge pull request #3673 from mitchellh/rename-docker-provider-specs

providers/docker: Rename test files for consistency
Merge pull request #3670 from p0deje/public_send

core: public_send vs send when merging configs
Update CHANGELOG.md
communicators/winrm: good_exit option
communicators/winrm: fix tests
providers/docker: support custom shell properly [GH-3697]
providers/docker: put sync folders in var lib docker [GH-3680]
commands/docker-run: --help works [GH-3698]