Allow any iterator in select(selected_values)

In addition to lists or tuples, one could conceivably pass in a set.
Or a map() object. Or in fact any iterable.

Thus, special-case strings and non-iterables instead.