Add combine_latest function

This is not deterministic. It's possible to get multiple values from left in a row.

```
iex(8)> s2 = Streamz.merge([Stream.cycle([:a,:b,:c]), Stream.cycle([1,2,3])])
#Function<19.75994740/2 in Stream.resource/3>
iex(9)> s2 |> Enum.take(100)
[1, :a, 2, :b, 3, :c, 1, :a, 2, :b, 3, :c, 1, 2, :a, 3, :b, :c, 1, 2, 3, :a, 1,
 :b, 2, :c, 3, :a, :b, 1, :c, 2, :a, 3, :b, 1, :c, 2, :a, 3, :b, 1, :c, 2, :a,
 3, :b, :c, 1, :a, ...]
```
See the `:b,:c,1,2,3` ?