Update externs for String.prototype.localeCompare

According to the ECMAScript specification this function should
be able to deal with two additional parameters ('locales' and
'options').
Added a typedef for the jQuery AJAX setting object

The jQuery AJAX setting dictionary is a defined dictionary with known fields. When the various methods accept such a dictionary, they expect very specific properties (the developer can indeed add more properties, of course). Adding a typedef for this type of dictionary reduces the need to quote properties.
Currently, $.ajax({url: "/", beforeSend: function (){} ,cache: true,username: "d",xhrFields: {}}) compiles to $.ajax({url:"/",a:function(){},b:!0,c:"d",d:{}}), causing errors.

With the use of the typedef in the various functions, $.ajax({url: "/", type: "post"}) and friends will be minified without renaming the relevant properties, causing the code not to fail anymore.
jQuery externs - fixed a typo

jsonCallback should be jsonpCallback.
jQuery externs - loosened the AJAX setting types

Added Object.<string, *> to the various methods in addition to jQueryAjaxSettings.
Fix in object pattern parsing to allow anything that is valid as the left side of an assignment, on the right side of a colon in an object pattern.

This is a roll-forward, but with some refactoring so that speculative parsing will fail faster, which prevents parsing of large object literals from taking a ridiculously long time.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76126495
Allow transpilation for --language_out=ES5 as well as ES3

Fixes #550
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76128389
Remove Event.prototype.state

I couldn't find this in any spec, and this definition conflicts
with that of subtype PopStateEvent.prototype.state
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76166119
Update the type of the "Object" function to indicate that it returns an Object if not called as a constructor.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76177522
Add a diagnostic group for conformance tests so they can be promoted to error
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76196359
A few small cleanups related to modules:

- Make sure errors are reported, not just created.
- Fix some broken targets due to missing BUILD deps
- Add more parser tests, and simplify the code printer tests
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76206119
Add a few tests of DeclaredGlobalExternsOnWindow.

While we're at it, improve the printing of jsdocinfo.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76211466
Invalid conformance specifications should be errors.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76216354
[NEW TYPE INFERENCE] Smarter inference of @const RHS
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76275445
[NEW TYPE INFERENCE] Make crawling of NominalTypes more consistent

Fixes #635
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76279949
A few more miscellaneous cleanups
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76294809
Move newQualifiedNameNode and newName methods from NodeUtil to Compiler.

This lets us call them more concisely: compiler.newQualifiedNameNode("foo") instead of NodeUtil.newQualifiedNameNode(compiler.getCodingConvention(), "foo");
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76307897
A few more code simplifications
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76309330
Improve the error messages for RefasterJS.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76348051
Update code and remove deprecation messages after the update to Guava 18.0
Merge pull request #639 from monzonj/latest2

Update code and remove deprecation messages after the update to Guava 18.0