change Range to RangeHeader
Convert method to constructor
added new test for range header
headers test now passes
refactored application of apply
implement show Content-range
extract RequestHeader from RangeHeader
only use single range if multipart message
added a single test for content-length
send content type
Header -> ResponseHeader, extracted some classes for response headers, and use MIME types for content-type header