Fixes #410: Auto final callback gets called too many times in case of exception

Fairly simple fix, only problem is, I can't see a way to stop this error we throw in the tests from bubbling all the way up:
https://github.com/th3james/async/blob/auto-double-callback-issue/test/test-async.js#L449

Not sure if nodeunit has a way to disregard errors thrown inside a test?