Fix memory leak within diagnostic.c

Running e.g. test-factorial.exe under valgrind shows that libgccjit.so
was leaking ~13.5KB of RAM per invocation of the compiler here:

==57074== 21,440 bytes in 4 blocks are definitely lost in loss record 896 of 907
==57074==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==57074==    by 0x58EFFC7: xmalloc (xmalloc.c:147)
==57074==    by 0x58A9256: diagnostic_initialize(diagnostic_context*, int) (diagnostic.c:129)
==57074==    by 0x4DF6062: toplev::main(int, char**) (toplev.c:1120)
==57074==    by 0x4E09E13: gcc::jit::playback::context::compile() (internal-api.c:4987)
==57074==    by 0x4E015C2: gcc::jit::recording::context::compile() (internal-api.c:878)
==57074==    by 0x401CA4: test_jit (harness.h:188)
==57074==    by 0x401D88: main (harness.h:230)
==57074==
==57074== 34,112 (256 direct, 33,856 indirect) bytes in 4 blocks are definitely lost in loss record 902 of 907
==57074==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==57074==    by 0x58EFFC7: xmalloc (xmalloc.c:147)
==57074==    by 0x58A91D4: diagnostic_initialize(diagnostic_context*, int) (diagnostic.c:122)
==57074==    by 0x4DF6062: toplev::main(int, char**) (toplev.c:1120)
==57074==    by 0x4E09E13: gcc::jit::playback::context::compile() (internal-api.c:4987)
==57074==    by 0x4E015C2: gcc::jit::recording::context::compile() (internal-api.c:878)
==57074==    by 0x401CA4: test_jit (harness.h:188)
==57074==    by 0x401D88: main (harness.h:230)

Fix it.

gcc/ChangeLog.jit:
	* diagnostic.c (diagnostic_finish): Free the memory for
	context->classify_diagnostic and context->printer, running the
	destructor for the latter.
Fix missing entry in gcc/ChangeLog.jit from last commit