feat: merge partition blocks and add gain-driven merging to convert_bbdd
- merge_blocks joins blocks greedily while the merged support fits -n, so blocks are no longer capped at one output cone
- n == 0 or n >= |PI| short-circuits to the single unpartitioned block
- merge_blocks_by_gain (-g CAP) keeps a merge only if the trial-built diagram is smaller than its parts
- -o sets the output directory for the netlist and stats
- leaf_map_t moves to partition.hpp so both converters can share it
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>