clarify what gets passed to an `error` callback function

as a Node.js developer, I expected to find that the first argument passed to an `error` callback would be an Error object.  having seen how `_invoke_error` is implemented & used in practice, I was clearly wrong in my expectations :)

this PR introduces some updates to the README.md to clarify the argument values passed to the #publish `callback` function, as well as `error` callbacks in general