Removed macros and typedefs
Renamed linq_distinctByKey: to linq_distinctWithKey: and fixed implementation
Optimization. Short circuit the linq_any: evaluation when first match found.
Add passing unit tests for -linq_distinctWithKey: and -linq_firstOrNil: