Added whenM, untilM, and forever monadic combinators

Ported whenM and untilM combinators from BooleanFunctions to Applicative, and made the syntax versions delegate to it.  Added forever combinator to Bind.