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.
Do you think we need both variants?  Is it possible with HTML forms to have a query param without a value?  Or in other words, would an empty field `foo` not always result in `..&foo=&..` instead of `..&foo&..`?

If so, we could probably just go with:

```haskell
postQuery :: ByteString -> SimpleQuery -> WaiSession SResponse
```