Update the StepsCache when restoring a bookmarked position

Whenever any iteration occurs, the cache needs to be updated so damage
can be repaired. This particular change fixes an issue where restoring
from the root bookmark ends up iterating up to the first damaged
paragraph bookmark, which should cause the paragraph bookmark to be
repaired.

This requires consumers to be able to mark ALL current bookmarks as
damaged, which is now achieved by passing in "-1" as the inflection
step to the damageCacheAfter(…) call.

Fixing this bug has exposed another existing issue that potentially
re-orders bookmarks that share the same step. This uncovered problem
will be addressed in a subsequent commit.

Fixes the cache corruption aspect of issue #503
Add StepCache support for multiple bookmarks with the same step number

It is valid for multiple bookmarks to share the same step number if
the user of the steps cache does not have a perfectly granular position
filter.

For example, paragraphs within a tracked changes block are not valid
steps according to the TextPositionFilter. This means all these
paragraphs stack up on the same step.