Refactor: controller: trigger the FSA more consistently
trigger_fsa() now takes no argument (since fsa_source is and should always be
the trigger), and it only sets the trigger if non-NULL (consistent with how
register_fsa_action() was defined).
register_fsa_action() no longer sets the trigger, and its callers instead
explicitly call trigger_fsa(), to make it more obvious what's happening in
those places.