Check the validity of elements added to depsets, in all constructors.
Elements must be immutable, but historically the depset(direct=...)
constructor forgot to check. Use tuples instead of lists in depset
elements. See https://github.com/bazelbuild/bazel/issues/10313 for details.