Update: Pass 0 to f_directory_remove() to avoid nftw() calls.
The `fl_directory_do()` already is taking care of the recursive delete.
The `f_directory_remove()` should not need to recurse.
The `nftw()` uses a lot of resources and slows down the speed even when the directory is empty.
The massif-visualizer shows that with `nftw()` there are two ~548.8 Kb spikes to remove empty directories.
Without the `nftw()` there is only a single 64Kb spike to remove the same empty directories.
The time taken with `nftw()` takes about 4e+06.
The time taken without `nftw()` takes about 1.6e+06.
The memory usage according to valgrind with `nftw()` is about 84 allocs, 84 frees, 3,303,959 bytes allocated.
The memory usage according to valgrind without `nftw()` is about 74 allocs, 74 frees, 497,999 bytes allocated.
The command I used to test this is:
```
clear ; md a/b/{c/d,e/f} && touch xxx && touch a/b/file.txt && valgrind remove a/b xxx -r ; t a
clear ; md a/b/{c/d,e/f} && touch xxx && touch a/b/file.txt && valgrind --tool=massif remove a/b xxx -r ; t a
```