support multipart requests

essentially plays pass the parcel with the body content, making
sure the content length is correct. add tests for multipart request