(PUP-2867) Support ~ in file paths, allows to deploy to ~<user> directories

  Note: validation will let ~ pass, but munging will fail if the user
    does not exist since it calls File#expand_path
Should this be using the Puppet File System Abstraction?