Is{Dir,Regular} return false if file doesn't exist

IsDir & IsRegular now return false (and no error) if the file being
checked does not exist. This prevents errors if the file being checked
is a broken symlink.