Add DepSets to efficiently support tracking transitive Paths without
copying, based on Bazel's depsets:
https://docs.bazel.build/versions/master/skylark/depsets.html
Bug: 153485543
Test: depset_test.go
Change-Id: If744affdf1ed850113166ba611a79a891262040c
Merged-In: If744affdf1ed850113166ba611a79a891262040c
(cherry picked from commit 9e44e21e91)