update HTTP case method macros to pass both conn and body

I needed to test routers where I set a cookie on a post/put/patch request and also pass a path and a body.

This pull request allows to do that, and can be used like so:

```elixir
conn = put_cookie conn(:post, "/"), :token, "1a2b3c"
conn = post(conn, "/create", "name=maya")
```

This examples allows to both set a cookie "token" and a body, which can be handy when you want to do token based authentication without using a session.