GetShortPathNameA behaves differently on Win9x and NT: on NT it
succeeds even if not all path components exist, as long as they are
already in the 8.3 format.
Wine apparently implements the NT behavior thus many todo_wine went
away.
Fixed some error code checks to take into account all possible return
values.
GetTempFileNameA appears to only use the lower 16bits of the id on
Win95 (and never returns more than 16 bits on other platforms).
GetLongPathNameA is missing on some Windows versions.
Modified the GetTempPath tests to make sure they return the expected
value. Removed the redundant tests (e.g. if buf[0]==0 then buf!="foo",
no need to test both).
The 'len_with_null - 1' case is not testable as the Windows behavior
varies too much between versions.
We cannot check whether Windows touches the buffer either as this
heavily depends on the Windows version and specific circumstances of
the call.
Finally NT4 sometimes exaggerates the required buffer size.