When downloading a book via OPDS, the last acquisition link is chosen when there are multiple. This allows choosing which format to download when there are many. Having only one format will automatically download that.
Fix potential use-after-free or double-free issue in the OPDS parser by
nulling it after free and guarding against using a nullptr parser in
`flush()`.
After running `pio run --target compiledb` to generate `compile_commands.json`, clangd (at least in neovim) throws errors that `-fno-tree-switch-conversion` and `-fstrict-volatile-bitfields` are not valid flags.