bin/doins.py: remove file before creating symlink (bug 640376)

Fixes: d9522ba661b5 ("Rewrite doins in python (bug 624526)")
Bug: https://bugs.gentoo.org/640376
(cherry picked from commit 992b4ffdcbf469db543c9cab90a5f7a3a4125c97)

BUG=chromium:712659
TEST=precq passes

Change-Id: I2f3361aeaeed16e1c857881e25bf12c9c3f8eb91
Reviewed-on: https://chromium-review.googlesource.com/820199
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
diff --git a/bin/doins.py b/bin/doins.py
index 13b9c5f..62395e2 100644
--- a/bin/doins.py
+++ b/bin/doins.py
@@ -406,7 +406,11 @@
 				not os.readlink(source).startswith(
 					opts.distdir)):
 				linkto = os.readlink(source)
-				shutil.rmtree(dest, ignore_errors=True)
+				try:
+					os.unlink(dest)
+				except OSError as e:
+					if e.errno == errno.EISDIR:
+						shutil.rmtree(dest, ignore_errors=True)
 				os.symlink(linkto, dest)
 				return True
 		except Exception: