[NEW TYPE INFERENCE] Don't crash on argument with TOP_FUNCTION type
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65604156
[NEW TYPE INFERENCE] Don't crash in specialize

Also, notice that no instances of a nominal type can be callable,
(except for Function, which we treat specially), so separate them.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65621596
[NEW TYPE INFERENCE] Fix a bug in JSType.negate
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65624060