This function appends a segment to
the end of the path.
Reserved characters in the string are
automatically escaped.
Escapes in the string are preserved.
All end iterators are invalidated.
this->back() == s
Strong guarantee.
Calls to allocate may throw.
Exceptions thrown on invalid input.