test: add empty multipart test
test: make urlencoded tests async
multipart: make sure to emit 'end' for empty multipart bodies too