Add a Linux SPI bus implementation.

This is actually more like an SPI channel (as we defined it) than a bus,
because it forces the use of a chip-select pin. However, we can't
implement the SpiChannel interface with it because Linux doesn't give us
manual control over the chip-select pin.

At some point the SPI bus interface probably ought to be redesigned a
little so it's a better fit for the Linux SPI interface while still
making sense for the AVR one.