An fs::DirEntry is in fact quite large---over 256 bytes. This results in
a lot of time spent memmoving it around.
This does result in a small performance regression on Windows for callers
that ask for the `metadata` of a directory entry.
This adds a test and extends the walkdir example with --sort.
A simple benchmark on a directory with one million files (warm cache) shows:
walkdir ~ 2.0s
walkdir --sort ~ 2.8s
walkdir ~ | sort 19.5s