Fix bug in keep_source for non-templated salt:// file sources
Fix bug in keep_source for non-templated salt:// file sources

Unless the file is one of A) a remote file source (http/https/ftp/etc.)
or B) being templated, then `file.get_managed` does not cache the file.
Thus, the variable we rely on to tell us the cached path is an empty
string, and we don't remove it even though the file would eventually
later be cached when we run `file.manage_file`. This adds some
additional logic to ensure that we do check if the file has been cached
if `sfn` is an empty string.

saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt