Use checkpoints instead of open-ended transactions

This can't be merged until atom/atom@bf83fb7 is released in v0.151.

Closes #446.

This makes vim-mode compatible with autocomplete. Refs atom/autocomplete#53.