use 'request' module instead of 'http'

I had some issues with publishing artifacts, silent failures would occur and tracking them down proved that there was a race-condition in the way the file was being streamed into the request. In cases where the archive was small (< 10 kb), the `response.on 'end'` handler was not being triggered. I wasn't able to find exactly why this should occur, but I was able to reliably repeat the failures.

I've rewritten the methods to use the 'request' module, (https://npmjs.org/package/request), instead of using the http module directly. I've found this to be a lot more reliable. It also has the benefit of making the code simpler.