Fix for sporadic truncation of output files due to incomplete I/O

Hi.  I'm using htmltidy as part of a regression test, to compare output of a system with its previous output.  On numerous occasions, one file out of hundreds processed will be truncated somewhere in the middle.  After extensive analysis and experimentation, I determined that the problem seems to be due to Node sometimes firing the subprocess ``exit`` event shortly *before* the last ``data`` event from the subprocess's stdout.  (This is on Windows 7, by the way.)

This one-line change fixes the problem for ``tidy()`` calls, by delaying the final result callback until Node has finished processing all pending I/O, thus ensuring that the remaining ``data`` event has a chance to fire before the final callback is invoked.

Without the patch, an average of about 1 (randomly selected) file per two thousand processed is truncated on my computer.  But with the patch, none are ever truncated as far as I can tell.

(The build is a complex one, with lots of other streaming events going on left and right, so I imagine the event ordering is a little less deterministic than in simpler processes using htmltidy, or that are not invoking it hundreds of times in rapid succession.)