Genie:  Axe unused FSIterator::Rewind()
Genie:  Rewrite union_listdir() to use listdir()

Don't use Iterate().  This saves some copying and pointer dereferencing,
not to mention some memory allocations.

The "i = i" idiom means that we're using i as the loop counter variable,
but it's already initialized.  Just "i" would also work (without risk of
being mistaken for "i = 1"), but clang warns that the value goes unused.
Genie:  Axe Union unit's dependency on Genie
Genie -> vfs:  Move/rename new_union_directory()
Merge branch 'vfs-union-dir'