signal_cpualarm: relax access to atomics

We were using the default memory_order argument (std::memory_order_seq_cst) when
accessing the atomic variables in signal_cpualarm.cpp. Since we aren't using
the atomics to order visible side-effects to other memory across threads we can
use the `std::memory_order_relaxed` argument. This eliminates the overhead that the
default sequentially consistent memory ordering induces on the CPU when accessing the
atomic variables.