Pr24 savepoints

Applies @jvanasco's work from PR #24, w/ cleanups, style fixes, and restoring 100% test coverage.