Add two helper functions to check if the current macro expansion contains enough information for the error/warning message that we don't need further expansion.
Modify two test files which generates too verbose information in macros.
Add two test files. reduced-diags-macros is to check the different solutions when different error messages are generated. reduced-diags-macros-backtrace is to check the correctness of macro back trace limits in our new methods.