provisioners/file: Add unit tests for the config
provisioners/file: expand destination path if capable
provisioners/file: add unit tests for the provisioner
guests: rename LinuxShellExpandFailed error to ShellExpandFailed

Make the error generic for all guests (`DarwinShellExpandFailed` didn't
even exist) and not tied to synced folder.
guests/{free,net,open}bsd: Add `shell_expand_guest_path` capability
Merge pull request #2922 from tmatilai/file_provisioner_expand_path

provisioners/file: expand destination path if capable