Fix for error caused when two variables at different scopes had the same name.

The GWT compiler does not represent explicitly block scopes but allows
two different local variables at different block scopes have the same name.

It is assumed that variables with the same name are guaranteed to have non
intersecting lifetimes and can be coalesced when lowering to the JavaScript
AST representation.

The Java AST produced initially by GwtAstBuilder upholds the above mentioned
assumption but the copy propagation optimization in the DataflowOptimizer does
not. It is not clear whether another optimization pass violates this assumption;
hence the fixup is done prior to JavaScript AST generation.

Fixes issue 7045, and issue 8304.

Change-Id: I1d6faae19dc228a3e8ef4c59bebf4297f04b5413
Added disabled IE10 permutation

 * Mostly just rebinding to old IE9 implementations
 * Rebinding to newer implementation with follow up patches

issue 8063

Change-Id: Iba0cec6e33ffd3fefa69c3c760868beb00d42076
Enable IE10 permutation

fixes issue 8063

Change-Id: Ib92feb14ab2658daf5d8eb466ef359b67ffc9864
Disable IE6 permutation

Change-Id: I28a378c7693c7dd1497b6ef01b14efbed9a5d086
Small refactoring in CodeSplitter.

Moved LivenessPredicate interface and some implementors to top level.

Change-Id: I76aea558246bc478e361e9191c288cef9d70a733
Removed README details about non-existant gwt-customchecks.jar

Change-Id: I269edf123244fbdf04ec7cd1988a546f97d4476d
Discussion: https://groups.google.com/d/topic/google-web-toolkit-contributors/s1-kIzWE9-M/discussion
Related: https://gwt-review.googlesource.com/#/c/1051/