The goal if to used native C++ exception instead our own SLJL-based C
exceptions:
* this removes the problem of exception conversion between C and C++
context and the lack of interoperability of SimGrid THROW/TRY/CATCH
with its C++ counterpart;
* we can still throw exceptions from C;
* but we can't catch exception from C anymore, you should use C++
instead if order to do that;
Things to do afterwards:
* remove exceptions from the C public APIs;
* restore the multiple usage debugging;
* fix the backtrace code and separate from the exception code in order
to be able to add backtraces to any exception and get backtraces
without generating exceptions;
* add support for attaching backtraces to any exception;
* attach context (baktraces and cause) everywhere;