#4489: Don't follow ever symlinks in rmtree

Also added several regression tests.
diff --git a/Lib/shutil.py b/Lib/shutil.py
index 3cafd01..da5a98e 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -380,7 +380,7 @@
     for name in names:
         fullname = os.path.join(path, name)
         try:
-            orig_st = os.stat(name, dir_fd=topfd)
+            orig_st = os.stat(name, dir_fd=topfd, follow_symlinks=False)
             mode = orig_st.st_mode
         except os.error:
             mode = 0
@@ -445,7 +445,7 @@
             if (stat.S_ISDIR(orig_st.st_mode) and
                 os.path.samestat(orig_st, os.fstat(fd))):
                 _rmtree_safe_fd(fd, path, onerror)
-            elif (stat.S_ISREG(orig_st.st_mode)):
+            else:
                 raise NotADirectoryError(20,
                                          "Not a directory: '{}'".format(path))
         finally: