Assert macro diagnostic message change

The diagnostic message that the assert macro writes to stderr is now based on the language level that is used during the compilation. If the default language level is used, the diagnostic message includes the name of the function that contains the assert invocation in addition to the expression, file name, and line number.