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
providers/docker: always copy the host VM Vagrantfile
providers/virtualbox: merge customizations properly
core: Log around process locks
core: Batch action says immediately when error occurred
core: only output error on batch action if not forked