Fix SF bug # 1330039, patch # 1331635 from Lars Gustaebel (tarfile maintainer)

Problem: if two files are assigned the same inode
number by the filesystem, the second one will be added
as a hardlink to the first, which means that the
content will be lost.

The patched code checks if the file's st_nlink is
greater 1. So only for files that actually have several
links pointing to them hardlinks will be created, which
is what GNU tar does.

Will backport.
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 2f21971..c86248c 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1150,7 +1150,8 @@
         stmd = statres.st_mode
         if stat.S_ISREG(stmd):
             inode = (statres.st_ino, statres.st_dev)
-            if inode in self.inodes and not self.dereference:
+            if not self.dereference and \
+                    statres.st_nlink > 1 and inode in self.inodes:
                 # Is it a hardlink to an already
                 # archived file?
                 type = LNKTYPE