Add operation test showing steps cache update issue

Steps are rather arcane as they were discovered using a fuzzer (Bella).
Add additional asserts to verify cache integrity

Add asserts to detect cache corruption of the nature experienced here.
These more stringent checks have caused an additional operation test to
fail.
Ensure each bookmark is only present ONCE in the step-to-DOM point cache

Allowing the same bookmark to appear multiple times in this particular cache
causes major headaches when the bookmark is updated, as EACH step-to-DOM (s2D)
entry pointing to the bookmark would also need to be updated.

As there is no real performance benefit from having the same bookmark
appear multiple times, life is made significantly simpler by only allowing
the bookmark to appear a maximum of once in the s2D cache.
Merge pull request #578 from peitschie/cache-fix

Ensure each bookmark is only present ONCE in the step-to-DOM point cache