Fix long-standing checksum update bug.

Changes weren't propagated up the file system hierarchy.
The fix uses a Lazy Enumerator and thus requires at least Ruby 2.0.