Fixed afterEach() completion callback.

afterEach() is supposed to take a callback parameter to be run when
test cleanup is done.  Due to a bug in testFinished(), afterEach() was
always called with no parameters, which prevented async cleanup from
finishing before the next test starts running.

This change passes a callback to afterEach() and defers execution of
the next test until the callback is run.