Added conversion operators to semiring.
Added guarded_range and a few _while algorithms.