Improve performance for signal handling.
PackedWaker / PackedList in waker.zig was quickly written and could possibly be improved. It takes a Set which is a packed struct of booleans representative of a bitset.
The PackedWaker is used for signal handling, where Set is the set of possible signals that a caller may suspend themselves on.
Upon the notification of a signal being received by a process, should any of the received signals match any callers waited-upon signals, the suspended caller would be resumed.
Once this feature is done, I will move signal handling on linux/darwin to utilize sigaction to be able to catch all signals directed towards a process unlike signalfd or kqueue EVFILT_SIGNAL to keep signal handling behavior consistent across platforms.
Signal handling on posix systems is now done via sigaction, and examples have been updated. The hope is to replace PackedWaker / PackedList with a condvar implementation as suggested by @kprotty.