Add a file provisioner

Add a provisioner which will upload host files and directories to the
guest via the scp channel. This is useful for populating user specific
files into the guest. This is a rename from scpupload to file and updated
against master. [GH-1357]
Merge pull request #2112 from markpeek/markpeek-file

Add a file provisioner