[io] make the lock implementation protecting a IoContext's cq configurable

options:
  * spin_lock - naive CAS spin lock
  * mutex - std::mutex
  * counting_try_lock (default) - our own lightweight special
                                  purpose synchronization primitive
21 jobs for cq_lock in 11 minutes and 1 second (queued for 2 seconds)
latest