Added SingleInstanceLock, a static class to manage running only one
instance of the program in a platform independent way.