Pre-fataException error handling rewrite for Node < 0.9

Node 0.8's error-handling totally didn't work the way I thought it did. This is sort of a convoluted solution, but I really wanted to preserve performance.

/cc @jacobgroundwater