Multipart handling

Hello,

I added basic support for multipart for files and POST requests

I also wrote the unit tests for this part and improved the existing ones.

One thing that could be done better is that now, it waits for the whole body before it parses it, we could implement a system where it feeds the content to the parser and the files are created on the fly and we don't use the whole memory for file uploads.