Fix leaked global

And generally tidy up naming.
Ensure TAP header is always printed first
Improve formatting of assertion failures

Not quite as fancy as chai, but better than vanilla and TAP compliant.
Use named function for 'exit' handler
Treat 0 assertions as a failure

Usually a sign of something going wrong.
Handle script errors

If the test file itself causes a crash, try to notify the user.
Report if no assertions were run
Test for headers and stderr changes
v1.0.0

 * Test for headers and stderr changes (Ryan Graham)

 * Report if no assertions were run (Ryan Graham)

 * Handle script errors (Ryan Graham)

 * Treat 0 assertions as a failure (Ryan Graham)

 * Use named function for 'exit' handler (Ryan Graham)

 * Improve formatting of assertion failures (Ryan Graham)

 * Ensure TAP header is always printed first (Ryan Graham)

 * Fix leaked global (Ryan Graham)