ObjC category that adds functional programming methods to NSArray