windows: avoid deleting non-empty reparse points
If a hg repository including working directory is a reparse point (directory
symlinked or a junction point), then using os.removedirs will remove the
reparse point erroneously. This is fixed by only removing directories if they
are empty.
diff -r acd8075edac9 b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
diff -r acd8075edac9 b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
diff -r acd8075edac9 a
--- a/a
+++ b/a
@@ -0,0 +1,1 @@
+foo
diff -r acd8075edac9 b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
abort: 00changelog.i@: ambiguous identifier!
abort: 00changelog.i@: ambiguous identifier!