Fix the problem where HashedWheelTimer puts a timeout into an incorrect place

- the stopIndex of a timeout is calculated based on the start time of the worker thread and the current tick count for greater accuracy