This patch is extracted from D96035. It adds StringPool class. StringPool allows to store strings in parallel. It also allows to have string data associated with the concrete string. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D140841