Http2

Working http server. The tests aren't as robust as they should be, but resources properly load in a browser.  
You probably figured this out, but just in case you're confused as to why **kwargs didn't work: The definition of gen_response() on line 67 from using **kwargs to kwargs as a positional argument is because we should have passed Content-Type and Content-Length as keyword values, not as key value pairs in one dictionary. For **kwargs, the function call on line 108 should have been self.gen_response(200, body, Content-Type=b"content_type", Content-Length=len(body)). However, Content-Type and Content-Length are not seen as valid symbols; I'm not sure if there's an easy way around that aside from the way you refactored it.