"<<" operator does not function on Python sets
I think I'm going to pass on fixing this, as it's a bit of a slippery slope in terms of supporting every data-type. I'd suggest just doing as you showed, and coerce to list.
 Can `Node._in` coerce to list automatically? [`list`](https://docs.python.org/2.6/library/functions.html#list) accepts any iterable, so the only thing the data-type needs to implement is the iterator.

That would work also with generators:

```
# Python 3
User.select().where(User.id << range(1, 10))
```

The `<<` operator in a query where the right-hand side of a `.where()` clause is a Python `set()` causes for a `ProgrammingError` on query (at least via Postgres):

```
users = set([1, 2, 3])  # Assume the set is not as trivial as this...
for u in User.select().where(User.id << users):
    print u.name

ProgrammingError: can't adapt type 'set'
```

Of course, this works, but seems tedious:

```
users = set([1, 2, 3])  # Assume the set is not as trivial as this...
for u in User.select().where(User.id << list(users)):
    print u.name

Jimmy Neutron
Spongebob Squarepants
Rocky Balboa
Luke Skywalker
```

This issue in `psycopg2` suggests that higher-level abstractions should handle the adaptation from `set` to `list` in these cases.  Do you think `peewee` is adequately "high" or should applications using it be responsible?
https://github.com/psycopg/psycopg2/issues/340

I think the solution, if implemented in `peewee`, would go at/near the line linked below, casting `rhs` to a `list` if it is a `set`... but I wanted feedback before trying it and submitting a PR.
https://github.com/coleifer/peewee/blob/master/peewee.py#L1661
