#18 Using HTTP HEAD instead of GET

Addressing #18 

Also abstracted the request logic to allow for removing the ``HttpRequest`` lib in the future. 

Could expose this to client to allow for custom requests.
well lets get this bad boi merged in (along with #25) and then refactor!