Cpp: Added format_exception(). The preprocessor now calls format_exception() in its object rather than handle_exception() in the handler(s) to generate suitable cpp error messages for exceptions caught by cpp(). Also adds some compatibility code to the master to support the old API.