Fix: controller: handle shutdown completion only when needed
Previously, the controller's peer change callback would consider a shutdown
complete (and do related handling) if a shutdown action was found for the node
in the current transition, and the node was not both a quorum member and a
peer.
This led to the shutdown handling being done after both the quorum notification
and the peer notification for the same shutdown -- and potentially for a
joining node, if it was shut down in the most recent transition. Now, the
handling is done only when needed: the peer's join state is updated as soon
as one notification is received, and the shutdown action is considered complete
when both notifications have been received.
Also, get rid of a useless stop_te_timer() call -- no-wait actions such as
shutdowns don't get a timer.