safely remove output_file, which may not exist

For example, in clang-425.0.28 (what Apple ships as `cc` on OS X 10.7),
a failed compilation does not generate an output file. But in
clang-503.0.40 (OS X 10.9), it does create a zero-sized output file.