The code would fail if the user did an SPI.transfer without calling SPI.beginTransaction.
So begin now calls beginTransaction with default parameters.
Also put in an implemention for SPI.setClockDivider as well as SPI.setDataMode
They appear to work OK... Tried to do with out changing any of the current functionality other than to call begin/end transaction in begin to get to a stable state.