Made the variables in the builtin error objects more accessible by dropping
the "__" prefix. This so that a de-facto standard can be achieved for user
error objects simply by having these variables, without the need for
accessor functions. Also gave the variables more descriptive names since
they're now more part of an exposed API.
I blatantly ignore compatibility issues due to this - error objects are
still pretty much unknown.