#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.
is this internal to Merlin or public? Yeah you probably want the caller to decide that, as something like a 301 where it returns cached data, could be chosen as a success or a failure right