Support value-less query parameters in QueryStringEncoder

I'm having issues when encoding query strings of this kind `/path?foo`. With the current implementation, I can produce `/path?foo=` if I use an empty string as value and an NPE if I use null. None are satisfying hence this patch.

The build passes with this change.

Existing code should not be impacted because users are not passing `null` values currently.