waitTimeout
Returns `error.Timeout` if provided timeout expires before a permit is available. Also adds/reworks tests for all wait functions.
and restore usage by std.debug.SelfInfo.Elf