ERXKey additions

• Added "Operator", "NonModelAttribute", "NonModelToOneRelationship" and "NonModelToManyRelationship" Types to ERXKey and a new constructor to allow them to be set when declared. (for example, by modifying the  _Entity eogenerator template)

• Added valueForKey(ERXKey<T>) to NSArray. This allows for type-safe valueForKey calls. Also made it automatically flatten, make distinct, and remove null values from the resulting array. This improves encapsulation and eliminates common errors caused by needing to write boilerplate code to check if the resulting array is in fact an array of arrays, or if there are null or duplicate elements.