Fixed directory handling logic for /Fo

We only want to do the automagic directory handling logic if /Fo
was used to specify an output file name, since that's what cl.exe
does. The MSDN says about /Fo:

  This option specifies an object (.obj) file name or directory to be
  used instead of the default.

Without this patch, we would always implement this logic. So if you
did

  mkdir hello.obj
  cl /c hello.c

then a real compiler would bail out since it cannot open hello.obj
for writing, but we would compute the output file name
hello.obj/hello.obj.