= http, httpx: Properly url encode fields from FormData

When posting data using FormData the base sub-delimiters aren't URL encoded. For example a semi-colon is not converted to %3B. My assumption is that values containing delimiters passed to FormData aren't to be interpreted as such, that all reserved characters should be encoded.

I'm not sure if this is the best way to fix this, or if there's already a method I've missed, but it seemed to require the least amount of change.