Catch c++ exceptions and pass them to Python

Converts c++ exceptions to Python runtime errors.
Only std::exceptions should be thrown in c++ code.

Signed-off-by: Jonas Kalderstam <jonas@kalderstam.se>
Add some more tests for survival errors

Signed-off-by: Jonas Kalderstam <jonas@kalderstam.se>
Make it possible to get derivative with no cache

Signed-off-by: Jonas Kalderstam <jonas@kalderstam.se>