use Map<File, ResourceInfo> instead of Map<URI, ResourceInfo> to work around the problem mentioned in https://github.com/google/guava/issues/1899
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81339582
Refactored the overloads of isAssignable*() methods to instance methods with simpler signature
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81364016
Skip unnecessary presizing.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81367572