Size the ability row table to every subclass's remembered picks
Since ability picks are stored per subclass item instead of per
character, one character can need two ability rows per subclass: one at
the default selection and one for its changed picks. The row table stayed
at the earlier model of a single changed subclass per character, 3
characters by up to 4 rows, so once a character changed the picks of a
second subclass the row that no longer fit was dropped. That subclass
then published no abilities at all: no ability icons and no movement
ability, while the default selection kept working because its row is
published first.
The overflow returned without a report, so the extraction pass still
logged result=ok and the drop was invisible.
Sizes the table to 3 characters by 3 owned subclasses by 2 rows, and
reports the overflow so a future one is not silent.
Bumps the cache format version, because a cache written at the wider
capacity fails `counts_fit` on a build that still has the narrow one.
That is an invalid cache, not a stale one, so it fails the boot instead
of rebuilding; a version difference is what makes such a cache rebuild.