nickserv: Protect timer.cancel() calls with a timer.active() check

I had assumed a timer.cancel() on an already-fired timer would be a no-op.
Instead it throws an exception. This fixes that.