fixes for the optimizations in the last commit.  one in particular broke recursion into directories named "0" (think /proc)... there is a bug that needs to be fixed next which has the effect of adding two // to the beginning of abs paths on linux/unix platforms when the arg to list_dir is "/"