In order to keep remarks around, we need to make them tied to a string table. Users then can delete the parser and rely on the string table to keep the memory of the strings alive and deduplicated. llvm-svn: 371233
and related structs. This also adds tests for the remarks::Remark object in general. llvm-svn: 371134