Update test

Use `.set()` instead of `.update()`; wherein the latter used and relied on subtle internal behaviour.
Merge pull request #9 from Dashed/patch-test

Updates a structure test case
Restores immutable dependency. Avoiding minor release
v1.2.1
Patch changeListener to better sync self.current.

When a cursor updates, any cursors not in the keypath to the updated cursor will become stale. Patch changeListener to better sync self.current when a stale cursor updates, and when a un-stale cursor updates.