Use SPI lib for the USE_SPI case
factor bit bang code in a (minimal) class mimicing the one from SPI lib
rm last references to AVR SPI regs, set new defaults: USE_SPI=yes, LADYADA_CLOCK=no (don't break existing ArduinoISP shields)
compile for Due: introduce SPI_CLOCK_DIV_MAX; error if LADYADA_CLOCK is selected (not yet implemented)
reset target before driving SCM or MOSI, reset sequence as in AVR datasheets under "Serial Programming Algorithm"
introduce SERIAL_PRG to flexibly select which serial port to use for programming; on Due, SerialUSB will be used by default (does not autoreset)
add TRACE macro's (printf debugging on second uart)
rename USE_SPI to USE_HARDWARE_SPI; by default don't use hardware spi on Due
Merge pull request #1 from PeterVH/due

Due