Avoid Itertools::flatten to support rust 1.29
Rust 1.29 stabilized Iterator::flatten
which now conflicts with
Itertools::flatten
. Use .flat_map(|x| x)
instead as a workaround
to bide time until Itertools upstream resolves this conflict.
Also update dependencies to get their fixes for this.