Move the checking for 'with' statements into the StrictModeCheck.

This change also turns off the check for 'with' statements, by default. To turn it on, use the ES5_STRICT language.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62938564
Add support for declaring global extern variables and functions as properties on window.

In this change, there is no support for actually forward the type declaration onto the window properties but it is sufficient to prevent renaming and other problems caused by missing properties declarations.

Fixes issue 1238.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62946703
Have the runtime type checker type-check Object as any object type,
possibly with an exotic prototype - not necessarily inheriting from a
standard Object.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62957827
Add author tag to CompilerOptionsValidator
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62958597