[FLINK-1191] Add support for Scala Collections and Special Types

"The special types" are Option and Either. This should work for all
Scala collections except SortedSet and SortedMap, for which the type
checker prints an error message.