There is no difference between 4k erase and sector erase.
But sector erase would previously do `.block_erase` which would not
erase a sector (4k) but a whole block (64k).
Fortunately all boards declare `SPI_NOR_F_SECT_4K` and all file systems
don't try to erase anything smaller, so this was never triggered.
Add an `assert(0)` to crash instead of corrupting data.
Just read the JEDEC ID with a single SPI transfer, there can only
be 10 banks.
This makes adaption to QSPI much simpler because now flash functions
don't call the SPI API directly anymore.