Make it possible to use Headers in HTTP class

This introduces a method to allow access to the
header of the last request.
This also introduces a way to inject headers into
the requests

Due to the default headers being set in the constructor
and only ever using a single curl instance I had to factor
out setting of the default header to makesure we can always
revert to it if no other headers are added
Make AutoUpdate take advantage of github api ETag

This means that if there is no change to the output
the github api is going to give us it returns NULL
with a 304 header, we can then say there are no updates.

The github api will not make this request as one of the 60
we are allowed per hour thus we can check for updates more often!
Merge pull request #20 from addshore/gitHeaders

Git headers