add a request class

the request classes parses the data into a request line, a set of
headers, and a body. It has certain methods that are consistent with the
behavior of a request to provide easier interaction between objects.
(Will probalby refactor each part of the request into it's own object
in the future as well)
IO Exception Trickle... up?
Merge pull request #5 from zachmokahn/umwelt_request

Umwelt request