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.
This isn't a scope-local import. It's a module-level import. And they're definitely broken at the module level. The fact that it's in a `version(unittest)` block reduces the risk, but it could still cause problems for any Phobos modules that import std.range. Though honestly, I really don't see any reason to use them in general, even if they work. It's just more code for no real benefit as far as I can tell. Regardless, until the bugs with scoped imports are fixed, they shouldn't be used at the module level.