Fix: crmd: respect start-failure-is-fatal even for artifically injected events
If the transition number is -1 (artificial event injected from outside the
cluster, e.g. lrmd_test), don't short-circuit the selection of the
fail count value in update_failcount().
This also adds comments and a wee bit of refactoring for readability
and efficiency.