core: lock around machine actions
Update CHANGELOG
Update CHANGELOG, don't deprecate this plugin method
providers/docker: make merge logic a bit more sensible
kernel/v2: provider configs do proper merge logic for config
Ansible Vault support

Add the following options to the Ansible provisioner:
- ask_vault_pass
- vault_password_file
Unit test + vault password file existence check
More tests
Update CHANGELOG
provisioners/*: prefix the output
core: forwarded port collision repair leases chosen ports [GH-2966]

In addition to checking if a port is open, we now check if a port is
"leased", which we do for a period of 60 seconds. This gives the provider
time to actually put the port into use.
core: Move FP collision leaser code to sep method so it works with alt impl
providers/docker: its okay if no image file on destroy
core: FP collision leaser should compare ints
providers/docker: get rid of mutex around Docker access, should be safe
providers/docker: rebuild image if it doesn't exist
providers/docker: don't guard for image on create, since can come from build
providers/docker: retry sync_folders action
providers/docker: fix exception typo
guests/linux: unmount uses rmdir instead of rm -rf to avoid catastrophe