Make all callout_xxx() functions use the same return value. Split the
callout return value into two bits indicating either cancelled or
draining/servicing state. This gets us a total of four callout states
instead of three. This also will allow better diagnosis and debugging
of callout related problems.
Identify all callout clients in the kernel and make them use the
correct CALLOUT_RET_XXX return value and test.
Update the timeout(9) manual page to reflect these changes.