- use a single Engine instance for email + attachment blobs
- add delete_batch, gc_if_needed, background flush to blob crate
- fix Entry.raw_size storing compressed length instead of original
- move fjall-dependent migration code from core to admin crate
- add STORAGE_VERSION file for layout version detection
- Replace bincode 3.0.0 (empty crate) with bincode_reloaded 3.1.10
- Add delete_batch for efficient grouped tombstone writes
- Add gc_if_needed to skip GC when no segment exceeds threshold
- Add flush() for lightweight fsync+meta checkpoint without compact
- Add Config::flush_interval_secs to spawn a background flush thread
- Remove per-put/per-delete fsync; persistence via background flush
- Split gc_segments into gc_prepare/gc_finish to reduce write lock hold time