TODO:

 * Continue to investigate how to improve performance of the open() pass
   on hard-drives.

   - The inode preloading is a benefit, but the threshold of how many hits
     is a delicate one and seems to vary; worthy of further investigation.

   - It seems that doing the preloading in a separate pass to open() is
     generally better; I tried preloading inode groups before the first
     open() call in that inode group, but that was slower.

   - Likewise it seems that the separate open() pass is much better, read
     ahead took twice as long when the calls were mixed.

   - How to sort the paths?  By inode group seems to be the best so far,
     giving a slight edge over by path.
