timer_service seems to not react to std::stop_token. While operations will get cancelled if a signaled token is passed, wait operations don't get cancelled when signaled after they have been started. This is a fundamental building block for #119 (and any home-made implementation for it).