n8vem-mark4: Optimise SD SPI routines to be faster, smaller

Alan

I've dropped the large precomputed table used to reverse bits in a byte from the n8vem-mark4 SD SPI routines, replaced with a function in assembler. I've also rewritten the block send/receive routines in assembler to optimise the performance by doing all the loop housekeeping when we'd otherwise have to wait for the hardware. I've measured the timing using my oscilloscope and the new routines are about three times faster for receive and twice as fast for transmit. The fuzix kernel binary has shrunk by 264 bytes.

Will