Add class for accessing github API

This uses the site-config.json file to store the credentials
to do authenticated requests to github; without this, it
still works, but does unauthenticated requests which are
rate-limited to 60 per hour.
Only use cURL in HttpClient

Strip out fallback code for command line and fopen, as we
now have cURL on the server; we also need to use the client
in ways which aren't naturally supported by fopen (e.g. reading
headers) and don't want to have to implement them three times.
Return associative array as response from get_url()

This enables more complex behaviour, such as checking for 304
(Not Modified) status codes, which we can use to control how
often we hit the github API etc.