Modify the damageCacheAfterStep to cope with negative values

If a negative value is passed in as the inflection point to the cache,
it is treated as if it were 0 and the cache is effectively cleared.
fixup! Ensure damaged bookmarks are never leaked outside
Clarified some comments based on PR feedback