Return no error argument if no arguments.

Return no error argument if there are no actual arguments to return to
the callback.

I'm doing this in lieu of being explicit about whether an early return
returns `null` or `undefined`. An API test framework is asserting that
no arguments are returned for a specific case, no errors or other
values, and it is doing this by testing if the error value is the same
as `undefined`.

In my source I'm invoking `step(null)`, but that does not propagate. The
null returned to the callback is not the same null that was given to
`step`. I can see now that `step(undefined)` is not the right way to go.

Closes #155.