Optimise the %.hi : %.o rule
Previously this rule had a sanity check for the existence of the .o file. However, the sanity check is expensive, especially on Windows, because it requires spawning a shell. So now we use an empty command here. This change reduced the time to do 'make' in an up-to-date tree on Windows from 33s to 16s for me. (the actual saving depends on how much rebuilding you've been doing, and how many .hi files are older than their .o files). The comments in this file now describe various versions of the rule that don't work.