processNoDirect also needs outputFile
Call the real compiler without the VS_UNICODE_OUTPUT environment var.

Warning! This commit breaks unicode support!

The VS_UNICODE_OUTPUT environment variable tells the real compiler
to handle unicode, in which case it cannot use stdout & stderr.
clcache uses stdout & stderr to get the include files from the compiler.
So if VS_UNICODE_OUTPUT is set, clcache does not get the includes, which
means it does not use their hashes as part of the key, and so changes
to the includes do not cause a cache miss as is necessary.

Also note that the showIncludes flag is necessary for clcache to get the
includes from the real compiler.
Cannot cache an invocation without the showIncludes flag.

clcache uses the hashes of the includes provided by the compiler as
part of the key for a cached object, so that if an include changes the
object will be recompiled (aka, header changed miss).  If the
showIncludes flag is not passed to the real compiler then it will not
provide the includes in its output, and clcache will assume there are
no includes.  If that happens, changes to the includes will not
cause the necessary cache miss, and a stale cached object will be
erroneously used.
Clarifies asciidoc section on setup for Visual Studio.
Reorganizes to put key points first and supporting info later.
Adds recommendation to "rebuild" instead of "build".
Explains Zi vs Z7 flags.
Adds description for showIncludes flag.
Makes formatting consistent.