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
If `ENV['HOME']` is not set and `File.expand_path` is given a path with a tilde it will fail hard (as is described in a similar issue, https://tickets.puppetlabs.com/browse/FACT-190), is this safe to do?