Correctly stop broken engines.

If the engine is in the broken state, and the termination timeout has
expired, stop the event loop correctly. Previously, only engines in the
stopping state would've been stopped.