Fixing TypeInitialization and TypeInvocation exceptions 

Thrown when 'where.exe' doesn't exist.

The program 'where.exe' does not ship with Windows XP SP3, which some people are still being forced to use. This causes the `PathUtilities.LocateFileFromEnviormentPath` method to return a null, which 
in turn causes the init of `GenericDiffReporter` to throw a `TypeInitialization` exception, followed by a 
`TargetInvocation` exception. 

One can download the 'where.exe' from the internet, but it would IMO be easier to just fail a test, report the problem, and not break the developer's flow.In addition, returning a `string[]` from the  `PathUtilities.LocateFileFromEnviormentPath"` will stop the exception from being thrown, and will allow the developer to continue (provided they've installed their difftool to a default path). If their tool never loads for them, they'll find themselves inside the source code pretty quickly, and discover the problem that way. At the moment, the TypeInit and TypeInvoke exceptions do not give a single clue as to what the problem is especially when they are being thrown from inside the DLL from the NuGet package.