Simplified try_wait_for_xxx_signals_yyy()

The functions now return simply a uint32_t (which is set to zero in case of a timeout) instead of a pair<bool, uint32_t>.
Added thread constructors which take thread attributes