Unit tests for the core HTTPRequest class.

There's a bit of edge case behaviour with dealing with IPs that
is currently untested, but this shouldn't be a big issue.

Will try be a bit more descriptive with my PR's and commits
now :)

I'm just opening these PRs as I get tests done. Are you cool
with that @fiorix? Let me know if you'd like to do it another
way.