list commands

Pack of *list* commands, 100% covered. Please review.
Tests for blocking list operations doesn't work as expected:
Creating a task in lines above only schedules it for execution
and then yielding from `lpush` will first send a value to list then will give control to loop
 which will start the `waiter` task.
So the code above would work the same ways as if it was written like following:
```python
yield from self.redis.lpush(key1, value1)
yield from self.redis.blpop(key1)
```