Libs: Unify concat and concat_vec

We've long had traits `StrVector` and `VectorVector` providing
`concat`/`connect` and `concat_vec`/`connect_vec` respectively. The
reason for the distinction is that coherence rules did not used to be
robust enough to allow impls on e.g. `Vec<String>` versus `Vec<&[T]>`.

This PR consolidates the traits into a single `Concat` trait provided by
`slice` and the preldue (where it replaces `StrVector`, which is
removed.)

The `VectorVector` trait is retained in deprecated form.

[breaking-change]