StringRefZ is a class to represent a null-terminated string. String
length is computed lazily, so it more efficient than StringRef to
represent strings in string table.
The main purpose of defining that new class is to merge functions
that only differ in string types; we have many constructors that takes
const char * or StringRef. With StringRefZ, we can merge them.