Guard against non-existent paths in working_dir
Guard against non-existent paths in working_dir

The code we use is taken originally from the `AsyncProcess` class in the
`Default/exec.py` code, and in that class it determines that if there is
no working directory variable set, but there is an active file, that it
should use that path as the working directory.

This is actually a potential problem; if the current file happens to
have a file name but not be stored on disk, the working directory will
be set to an invalid value and the build (or in our case diff) will fail
to execute.

Although initial counter-intuitive, this can happen in cases such as if
the current file is a package file from a `sublime-package` file that
has been loaded by `View Package File` or if a file has been removed
from disk, such as during a git operation.

Our fix here is to assume that if the user explicitly sets a working dir
that they should get the error to let them know that they have done
something wrong, but to actually check and not set the working dir to an
automatic value if the path is not valid.

The idea here is that we should not fail to set an invalid working dir
because one that is explicitly set may depend on that working dir and so
it is better to fail and let the user fix it than do something untoward.

OdatNurd/OverrideAudit