Fix the bug that Scan may request 0 when n is 1

`Scan` may request 0 when n is 1 and `request(0)` makes the source `Observable` do nothing. The unit test demonstrates this bug.