rdmd: Clean up the old executable file before the build starts

The old code attempted to delete the final executable if the build
failed, disregarding potential failure due to it being in use.

Now we safely ensure that the final executable doesn't exist before
we even start building.