Remove the fragment
This function removes the fragment. An empty fragment is distinct from having no fragment.
assert( url( "?first=john&last=doe#anchor" ).remove_fragment().buffer() == "?first=john&last=doe" );
this->has_fragment() == false && this->encoded_fragment() == ""
fragment = *( pchar / "/" / "?" )