Fix bug in hashed buck-out output links
Fix bug in hashed buck-out output links

Summary:
If an output switches from being a file to being a directory, buck
crashes when trying to produce the output symlink. It does that because it
tries to create a directory where there is a file. This is an issue that has
popped up in several places in buck.

This changes the link creation to just delete any files it encounters in the
path components of an output it is trying to produce.

Reviewed By: bobyangyf

fbshipit-source-id: 113c957012d74ab76abc91b951e0e3a4f82ed030

JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck,JoelMarcey/buck