xenstore, console: expose a prepare/commit interface

This allows a xenstore to be robust to crashes by journalling ring contents to a persistent store before acknowledging it and removing it from the ring.