Adding SepLogFoldWithAnd

- This should use more of the code from SepLogFold
  but that requires a minor refactoring of the AppFold.
  This is in progress, but not quite ready yet.
a monadic canceller with huge performance problems

- in order to make monads efficient, you really need
  laziness. Without it, you end up building huge computations
  that you never end up running.