commitlog: Use exception propagation in flush_queue (for batch)
commitlog: Use exception propagation in flush_queue (for batch)

Fixes: #1490

While periodic mode is a all-bets-off crap-shoot as far as knowing if
data actually reached disk or not, batch mode is supposed to be
somewhat more reliable/deterministic.

Thus, if we get an exception writing/flushing the current buffer,
we should propagate exceptions to all execution paths involved
in this buffer.

Thus, adding a muation to commit log in batch, will now, if an error
is generated, result in an exception to the caller, which should be
interpreted as "data might not have been persisted".

The failing segment is then closed, and we happily hope things will
get better in the next. Which they probably wont.

Missing: registration of some sort of "error-handling policy", similar
to origin, which can either kill transports or shut down process.
(A reasonable guess is that disk errors in commit log are not gonna
be recoverable).

duarten/scylla,avikivity/scylla,raphaelsc/scylla,scylladb/scylla,duarten/scylla,avikivity/scylla,kjniemi/scylla,avikivity/scylla,kjniemi/scylla,raphaelsc/scylla,scylladb/scylla,scylladb/scylla,scylladb/scylla,kjniemi/scylla,raphaelsc/scylla,duarten/scylla