Add new file tree iterator that can adapt into a ContainerTreeIterator
As the iterator recurses into subtrees it will look for directories
that can be mapped using a given workspace root, and if there's a
mapping it will return a ContainerTreeIterator instead.
This feature required exposing the underlying file of the FileEntry,
as well as making ContainerTreeIterator's constructor that takes a
parent iterator public.
Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>