doc: add documentation for errors

This adds documentation around what errors are generated by Node and how to intercept them.

The rendered docs are available [here](http://neversaw.us/nodejs-api/errors.html).
I think what you might have been going for with "system error" is like when `fs.stat('not/here', cb)` passes the system error of `ENOENT`. That entire mechanism has been setup by Node and is not fundamentally tied to the language or the idea of an exception.

Instead it should probably be explained separately that Node will wrap these types of "system errors" in a js error object so it can be inspected by the user. But it's dependent on the user having made a _proper_ API call.