Bump up the number of types allowed in a union to allow for some complex type selections we are seeing.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74709527
Add support for transforming Object types into record types using the record() operation.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74709839
Fix a few oversights in the parsing of object patterns:

- computed properties, e.g. let {[a]: b} = foo();
- strings and numbers as keys, e.g. let {'s': b} = foo();
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74710706
[NEW TYPE INFERENCE] Allow non-templated classes to extend templated ones
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74712761
Print out full templated type name in FunctionType.toString
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74716460
Fix the transformation from Object to Record type using record() to avoid evaluating nested objects/records.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=74723655