reader: fixed never exit the backoff state

reproduction:

step - 1. trigger backoff
step - 2. `Reader._start_backoff_block` is called
step - 3. `self.backoff_block` is set `True`
step - 4. trigger resume
step - 5. backoff timeout and `Reader._finish_backoff_block` is called
step - 6. trigger resume

In step-4: 
`start_backoff_interval` > 0 and `current_backoff_interval` = 0,  
owing to `self.backoff_block` is True, it left the backoff state behind

In step-6:
`start_backoff_interval` = 0 and `current_backoff_interval` = 0, will not exit the backoff state