* Set an index for the last saved change
I added an index that represents the last saved change.
Editors are considered to be unsaved or modified if the current change
is different from the save index. In other words, if the last saved
change is `5`, undoing or redoing past that change should indicate that
the editor has been modified.
This is needed to fix two bugs in COSMIC Edit:
* https://github.com/pop-os/cosmic-edit/issues/116
* https://github.com/pop-os/cosmic-edit/issues/128
* Unit test that confirms pivot logic works
I'll most likely simplify the API as end users don't have a way to
cleanly use `Pivot::Exact` without access to the internal command
buffer.
* Simplify save point API
* Implement more save point unit tests
A unit test for an edge case currently fails but normal usage works.
* Fix edge case for empty command index and pivot
* More save point unit tests for common use cases