[NEW TYPE INFERENCE] Handle generic interface subtyping correctly
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78100944
goog.provide()'d namespaces shouldn't absorb @fileoverview visibility.

Recently, the compiler started inspecting @fileoverview blocks at the top of source files for default visibility annotations. Names and properties defined without an explicit visibility annotation receive the @fileoverview visibility.

A corner case arises with goog.provide(). goog.provide() is a compiler primitive that is rewritten by the ProcessClosurePrimitives pass into a series of object literal declarations. For example,

goog.provide('a.b.c')

can be rewritten as

var a={};a.b={};a.b.c={};

In this example, the source file directly provides a.b.c, but a and a.b are
forward-declared if the compiler has not already seen their declarations.

If the file containing goog.provide('a.b.c') also contains a @fileoverview visibility annotation, it must not cascade to a and a.b, because they may be logically declared in other files with different visibilities.

This adds a boolean flag to the type hierarchy, indicating that the given type has been created anonymously by goog.provide. AccessControlUtils#getEffectiveNameVisibility inspects this flag and refuses to apply the @fileoverview visibility if it is set.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78102587
Add $applyAsync to the typedef of angular.Scope.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78107107
Angular-material externs - $materialToast.

I've started experimenting with using the $materialToast service in my code, and this will allow it to build cleanly with the closure compiler. e.g.:
@param {!material.$toast} $materialToast Toast service.

I think there's some room for debate around what this should look like:
@param {!material.$toast}
@param {!angular.material.$toast}
@param {!angular.$materialToast}
@param {!md.$toast}
@param {!md.$materialToast}
...
so I defer to you if you want a different naming convention here.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78115604