Updated the exception class. Now it derives from std::exception to increase
compatibility.

Also got rid of the 'what' pointer, in favor of std::exception's
virtual what() function.

Also added a clone function if you need to copy the
exception. I don't know how or when I'll ever use this yet, but it seemed
useful at the time.