style(null): always send null as first argument if no error

+ updated tests

Async made a change that switched errors to `undefined` instead of null.

First async was all `callback(null)`, see #98, then it was all
`callback()`, see #476.

The change was worth 9 bytes of gzipped JavaScript, so this is not a
good argument on a 3kb+ gzipped lib.

The accepted callback-way is to have err === null if no error.

Maybe you won't be happy with the change but still I made it to see if
you agree or not.