FINALLY resolved a stupid bloody state machine issue.  Basically, if
the xtracecontext when transitioning a state is the same as the
xtracecontext when starting the previous transition, then it is
redundant to link to both the previous transition and the current
xtracecontext; we only need to link to the previous transition.  Not
checking this was resulting in HUGE numbers of additional, unnecessary
links.  Screw you state machine, I hate you.
Conflicts:

	hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/StateMachineFactory.java
Added handling in the state machine to compact events into a single
event if the transition results in an ending state that is the same as
the starting state.
Conflicts:

	hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/StateMachineFactory.java