added option for a shift in register for user input; fixed some
dac-bit-fiddeling; made spi_transfer return what is in the buffer;