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
That said, it seems `exec` has the same kind of behavior when munging `timeout`: https://github.com/puppetlabs/puppet/blob/master/lib/puppet/type/exec.rb#L268