* Add DUK_USE_CPP_EXCEPTIONS (DUK_OPT_CPP_EXCEPTIONS) which causes Duktape
to use C++ try/catch instead of longjmp/setjmp for internal long control
transfers. When try/catch is used scope-based resource management
(SBRM, a special case of RAII) works as expected, e.g. C++ automatic
destructors in Duktape/C functions will be executed.
* Add <exception> header to shared headers when compiling in C++ mode.
The header is needed to provide std::exception.
* Add a sanity check: if DUK_USE_CPP_EXCEPTIONS is enabled and not
compiling with a C++ compiler, fail the compile with an explicit #error.