Don't call unidle prematurely from GearStatePlugin

Fix bug in the Watchman gear state plugin that would incorrectly call
frontend.unidle for gears that were in the process of being idled.

During the idling process, the frontend marks the gear as idle, the
gear's state is set to STOPPED, the gear is stopped, and the gear's
state is finally set to IDLE. If the gear state plugin sees the gear
when its state is STOPPED, before it transitions to IDLE, it was
prematurely calling frontend.unidle, which resulted in the gear being
stopped but without any frontend configuration in place to call the
restorer to unidle when accessed via http.

Bug 1161165