Rewrite checking for other instance.
Rather than scanning open processes, just have the original process
create a temp file in Path.GetTempPath().
The reason for the switch is that the previous method didn't work at all
under mono on Linux, whereas the new method does
There are still things to fix with the Linux version, but we're getting
there