Exceptions - lets do what we said we would do
This is an evil, evil work-around for CRM-11043. It is used to
- temporarily change the error-handling behavior and then automatically
- restore it -- that protocol is an improvement over the current protocol
- (in which random bits of code will change the global error handler
- setting and then forget to change it back). This class and all
- references to it should be removed in 4.3/4.4 (when we adopt
- exception-based error handling).