Add error module dependency.
Load errors from a definitions file.
Update enoent and eperm error handling.
Update custom error example to use error event.
Update all tests.

To use the error event.
Remove obsolete error method.
Allow error handling pass through.

So that error listeners may intercept only certain errors and pass
others through to the default error handler.
Improve error test executables.
Add example executable for uncaught listeners.
Add example of listening for specific error.
Remove obsolete information from the readme.
Update examples to use empty listener.
Remove obsolete run() method.
Move parse() to program prototype.
Tidy imports.
Update api comments.