tikv_util: reimplement poll_future_notify (#11550)
tikv_util: reimplement poll_future_notify (#11550)

The current implementation is very easy to get deadlock if the future is
woken immediately during polling. This PR resolves the issue by
maintaining states instead.

Note, if the future is implemented in the wrong way that always
notifying the future without checking if it has readiness, the new
implementation can run into dead loop.

Close #11549.

Co-authored-by: qupeng <61d746964f2cf9aa900605464d8422efaad5ea7d@pingcap.com>
BusyJay/tikv,BusyJay/tikv,BusyJay/tikv,BusyJay/tikv