Handle optimization of labeled for loops correctly.

Fixes issue 1168.

Independently, also add arities to Tokens instead of hard-coding it in AstValidator. (Other passes may find this useful in the future.)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58171311
[FUZZER] Checkout variable values before exiting
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58196731
Update the jasmine extern file

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58199630
[NEW TYPE INFERENCE]

Handle Token.EQ and Token.NE properly.
By default, don't print debugging messages.
Minor other improvements.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58292674
Fixing the error caused because of wrong type for jasmine.Clock.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58311148
Remove the result array from TemplateTypeMap which creates a large amount of GC
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58340241
Do not generate warnings due to ES3-incompatible property names in
externs files.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58397401
Add support for the Closure "base" method: a strict mode compatible version of goog.base.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58425295
Define chrome.runtime, chrome.usb, chrome.screenlockPrivate externs for everybody.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58429120
Prevent inline functions infinite loop. Fixes issue 1131
R=dimvar
[FUZZER]

Add typing rules in order to:

- avoid the compiler crash on
someLabel: while(void(xxx)) {}

- make the right operand of "instanceof" function, and the right operand of "in" object in strict mode, in order to reduce runtime errors
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58475157
[NEW TYPE INFERENCE]

- Avoid creating debugging strings when not debugging.
- Analyze loops and IF in the bwd direction.
- Analyze THROW in fwd.
- Fix bugs to analyze the v8 tests without crashing.
* Don't loosen nominal types
* Don't crash on FOR/IN, SWITCH, EMPTY expression, IN, DELPROP
* Don't crash on functions that only exit using THROW
* Don't specialize qualified names at comparison operators
* arg types on deferred check may be updated multiple times
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58477220
Update externs for DOM event constructors.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58545339
Add a warning about invalid use of id generators.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58547403
Add 'scopes' attribute to the chrome extensions externs file.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58552190
Don't print the tracker output many times.

(We have had this bug for a while, but it didn't surface because we were mistakenly closing System.out and we weren't seeing the duplicate output.)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=58568757
jsdoc.suppressions: Allow unnecessaryCasts diagnostic to be suppressed.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=59006302
Remove some println-debugging that was mistakenly submitted.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=59006342
Fill out chrome.app.runtime.LaunchData with all properties defined at
http://developer.chrome.com/apps/app_runtime.html, so that they can be used in
closure-compiled JavaScript.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=59207124
Handle quoted properties better. Fixes issue 1173
R=dimvar