keep the original string in ParseFormat so we can reuse it in BuildFormatString

before we re-build the format string from parsed segments, which basically
works but attributes(like "/TITLE:Subject") are lost.  with this, we don't
need to build it at all and all the bits will be kept.

see also #29425
Merge branch '4.0/parse-format-original-string' into 4.0-trunk