Make the state monad in TacticMatching a CPS monad.

It avoids too many manipulation of IStream, resulting in further non-trivial efficiency improvement for Ltac's pattern-matching.
Fix a oversight in 5bf9e67b .

About 8 months after making this commit, I realised that I forgot to change a tclORELSE into a tclOR (which was the whole point of the commit to begin with). Shame on me.

It does not seem to have much of an effect on efficiency, though. It may be a hair faster, but mostly indistinguishably so.