Categories added to NSArray/NSDictionary/NSSet to allow more functional style programming