Portable(?) BREAK_INTO_DEBUGGER() macro introduced
Move pipe signaling macros where they belong
Correct the signatures of created thread functions
Trash incorrect/problematic(*) magic number use.

(*) Under certain specific circumstances the use of "magic numbers" to detect if a struct has been initialized or not can cause unexpected incorrect behavior. The specific circumstances is beyond the scope of this commit comment however, so contact me directly if you're interested in the details.
(silence gcc cast warning)