use httpclient to power HTTPUtilities class

Second try at this. Changes the exceptions raised slightly but should be basically the same.
Does returning nil make sense? How does the code know if there was an error or not?