style(null): always send `null` as 1st arg, not `undefined`. callback-way

+ 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.