! http: introduce a distinction between "?key=" and "?key" in queries, fixes #460

The breaking change is that a parse/render round-trip will reproduce a
trailing '=' if the value is empty as well as no trailing '=' if it was
originally missing.

Also, the default behavior was changed so that '=' is always rendered even
for empty values unless you use the special value `Query.EmptyValue`.
Merge pull request #461 from jrudolph/i/460/fix-query-rendering

! http: always render '=' in query parameters, fixes #460