Disable IRQs around sdcard reads.

Once the code switches to using DMA, this can be removed.
stmhal: Protect SD_WriteBlocks by IRQ disable/enable pair.
Merge branch 'dhylands-fix-sdcard-read'
moductypes: Foreign data interface module, roughly based on ctype ideas.

But much smaller and memory-efficient. Uses Python builtin data structures
(dict, tuple, int) to describe structure layout.