a) Fixes bug 858 (http://bugme.osdl.org/show_bug.cgi?id=858)
The problem was caused by round off error in calculating the correct
jiffies value in micro seconds to do the round up to jiffies. The fix
is to do the round up AFTER conversion to jiffies, rather than before.
This only affected the timeval to jiffies calculation.
b) Changed the scale values to get the highest possible precision short
of going to full 64-bit math. This is particularly useful in the
scaling of the seconds part of time. The code now computes a trial
value at compile time and adjusts the scaling if the result is less than
32 bits.
c) Adds comments to time.h to remove (I hope) ALL the confusion that
this file use to generate.