Allow values with initializers in array patterns.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=73246149
Fixes a bug where the var statement that was used to declare variables that do not cross module boundaries was itself deleted.

Generate more compact code for var declarations in RescopeGlobalSymbols without relying on optimization passes to get into that form.

Switches generated
var a; var b;
to become
var a, b;
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=73249462
Fix the mapunion parser and evaluation to accept as parameter an arbitrary type transformation expression. Also reorganize some of the checks in the parser to delete the ones that are not used.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=73249663
Add a null check so that the InferConsts pass won't crash when using 'arguments' as a variable name.

We already disallow this in StrictModeCheck but
- That only runs if the user has enabled it.
- That runs after InferConst so it doesn't prevent the crash.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=73255494