Make pluck work on id<NSFastEnumeration>

This changes pluck to work on `id<NSFastEnumeration>` and return an array.

The old behavior didn't really make sense for sets in cases where two objects could return the same value.