Changed optimistic lock to context
Changed optimistic lock to context

It's possible the url could be match but the context might've changed, e.g., naivgate A --> B then do a paused navigation to C and before it returns navigate to D and back to B. When C returns it's still at B but it shouldn't resume because it was superceded by D.
The context is now updated immutably so context only changed if navigation has happened.

grahammendick/navigation,grahammendick/navigation,grahammendick/navigation,grahammendick/navigation,grahammendick/navigation,grahammendick/navigation,grahammendick/navigation