Add a non-standard `seed_seq_view<T>` that does not heap-allocate.
Add a non-standard `seed_seq_view<T>` that does not heap-allocate.

An instance of `seed_seq_view` wraps a `vector_view` onto the provided
sequence. There is no particular reason that `seed_seq_view` should not
be copyable, movable, and so on; but it reflects the standard `seed_seq`
in deleting those special member functions anyway.

Notice that because the underlying `vector_view` must be templated on
the element type `T`, the following two variables `a` and `b` have different
types even though C++17 constructor template argument deduction allows us
to omit the difference syntactically:

    seed_seq_view a = {1, 2, 3 };
    seed_seq_view b = {1u,2u,3u};
    static_assert(!is_same_v<decltype(a), decltype(b)>);

Quuxplusone/from-scratch,Quuxplusone/from-scratch,Quuxplusone/from-scratch