Invalid ISBNs rejected at parse time, typo suggestions (wrong length, 978↔979 swaps, OCR confusions, transpositions), auto-generation of the companion ISBN (#2673)