handle: A Range that handles an Exception

When a Exception occurs inside a range chaining the whole chain dies usually. The Handle range fixes that, as it catches a defined exception and calls an user defined handler on it.
Please add a warning about `handle` being caught in an infinite loop if `popFront` throws but does not actually pop the element in the process.

I don't think that we have a great way around that, but we should probably point it out, since it's quite conceivable that a range would throw in `popFront` without actually popping an element - though the ability to use something like `handle` does then seem to indicate that if possible, `popFront` implementations should throw _after_ they've actually popped the element. Regardless, I can easily see someone using `handle` and then complaining about their program freezing up if they're using a range whose `popFront` throws without progressing through the range.