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 would note elsewhere, preferably prior to descriptions of the various Error object types, that Node immediately throws an exception for all argument validation.

Here it would be noted that the type of exception thrown is an `instanceof RangeError`.

> -- they are a form of argument validation.

This would now be redundant since information about throwing an exception for argument validation should have been previously explained.

There should also be a note that, currently, Node is slightly sporadic when arguments are coerced and when they are checked. For example, in `Buffer#write{Int,Uint}{8,16,32}{LE,BE}(value, offset)` the `value` is immediately coerced to a `double` and `offset` immediately coerced to an `uint32`. This is for performance reasons. So in these cases some unexpected behavior can be seen in cases like `(new Buffer(2)).writeInt8(0, -4294967295);`