Adding support for scan command

This is a deterministic ruby implementation of redis ```SCAN``` command. It may differ from original ```SCAN``` output since it just guarantees that a full iteration always retrieves all the elements that were present in the collection from the start to the end. It also does not provide guarantees about the number of elements returned at every iteration (```COUNT```)or the returned collection order. Two indentically configured setups may return a differently sorted collection.