Changed $Gson$Types.getCollectionElementType to handle wild-card sub-classes of collections and raw collections.
Marked the two private classes in $Types as final.