A StatusGuard manages a tentative parse. All actions invoked after its instantiation will be rolled back in the destructor unless 'commit' has been called before.