Before, we reset kScheduleRemote bit right after we pushed into the remote queue.
But if this thread is slow, it is possible that the notified fiber will wake up before we reset the bit,
and then it will go sleeping again and then another notifier will try to awake it and will check fail at line
scheduler.cc:238 when it checks that the bit is set.
If we reset it upon waking up, the fiber will reset it before suspending, so this situation can not happen.
In addition, we print the stacktrace when we reach unexpected state.