commitlog: Ensure file objects are closed before object free
commitlog: Ensure file objects are closed before object free

Fixes #3446

Previously, only shutdown-synced objects where actually closed,
which is wrong.

This introduces yet another queue, processed together with the
deletion objects, which ensures we explicitly close all objects
that have been discarded.

Message-Id: <9640f571a3cf92913b77e9f2381251566ed5ac15@scylladb.com>

avikivity/scylla,scylladb/scylla,duarten/scylla,avikivity/scylla,scylladb/scylla,duarten/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla,duarten/scylla