Perform encoding and decoding of an URI query string. Query
is a list of fully decoded (Unicode) Name=Value pairs. In mode (-,+),
query elements of the forms Name(Value) and Name-Value are also accepted
to enhance interoperability with the option and pairs libraries. E.g.