[NEW TYPE INFERENCE] Handle nominal types in FunctionType: isSubtypeOf, join and meet.

Also, make FunctionType#isSubtypeOf not create a new type.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71788002
Aggressively rename references to undeclared names
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71796451