commitlog: Don't allow error_handler to swallow exception
commitlog: Don't allow error_handler to swallow exception

Fixes #9798

If an exception in allocate_segment_ex is (sub)type of std::system_error,
commit_error_handler might _not_ cause throw (doh), in which case the error
handling code would forget the current exception and return an unusable
segment.

Now only used as an exception pointer replacer.

Closes #9870

scylladb/scylla,scylladb/scylla,scylladb/scylla,scylladb/scylla