Pluggable hosting

cf https://github.com/mapbox/node-pre-gyp/issues/106

Companion project: https://github.com/albanm/node-pre-gyp-hosting-github

The two together are tested in my fork of your node-addon-example project https://github.com/albanm/node-addon-example

I couldn't test that I didn't break s3 support as I don't have an account. I guess travis-ci will tell me soon enough if I did ok.

I didn't externalize s3 hosting in order not to break compatibility, but if you chose to do so it will be easy.

Of course I am open to all feedback.
why fallback to null here (and below)?