When canceling the last fetch, we also need to stop the fctx_expired timer from possibly firing between the fctx_shutdown() call and the fetch being actually destroyed along with the timer. As there are multiple places where fctx_shutdown() is being called without stopping the timer, move the fctx_stoptimer() to fctx_shutdown() and cleanup the explicit usage.