Add helpers for HTTP methods taking params

Add versions of `post`, `put`, `patch` which take parameters in a
form-encoded format. These functions take a list of key/values, generate
the bytestring body, and supply the requiste headers for WAI.
I'm puzzled whether helpers for `PUT` and `PATCH` are actually needed.  My assumption is that `application/x-www-form-urlencoded` mostly used for HTML forms and (AFAIK) browser only support `POST` for HTML forms.