Added linq_distinctByKey method
Added convenience typedefs and improved namespacing on existing macros.
Added linq_firstOrNil
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:
Reimplemented linq_distinctWithKey: as linq_distinctWithBlock: and fixed unit tests.
Merge pull request #1 from ThesaurusSoftware/master

Added linq_distinctByKey adn  linq_distinctWithBlock: methods.