SPI now works on second clock edge

Previously SPI Library wouldn’t communicate properly with devices that
read data on the second clock edge. After testing with oscilloscope,
found that when SPI Library was set in 2nd edge mode, it wasn’t even
generating the correct number of clock signals (1 clock/bit). Also,
Library wasn’t honoring when you set it to have clock idle high or low
when in 2nd edge mode. Found the problem in the for loop responsible
for bit shifting data to MOSI and controlling clock. Now Library
properly works in all 4 SPI clock configurations (1st/2nd edge and
clock idle high/low). See SPI_Scope/2nd_Edge_Fix folder for before and
after changes.
SPI Speedup Trick Implemented

Program now tracks current value written to MOSI line before writing a
new value, reducing unnecessary writes to the MOSI line. Up to 25%
faster than current version when bits being written are mostly the same
(ex 00000000 or 11111111).  Otherwise, speedup is about 10% for most
data.
See SPI_Scope/SPI_Speedup for images of before and after.
Merge pull request #3 from wizard97/master

SPI 2nd Edge Mode Bug Fix and SPI Speedup trick