Use Node.js callback convention, don't throw errors in callback

Hi there,

This patch changes your callbacks to follow the Node.js convention of `function (error, result)`. It's a breaking change, but better to do now if you want to follow the convention.

Also you we're throwing errors in the HTTP callback - this crashes the node process. These errors are now passed to the new-style callback instead.

Sean