implement AD7685
change Pin/SPI arg structure

now you pass a Pin to SPI to initialize its underlying cs pin, and
similarly for things like the nokia and the ad7685.

also tripcodes added
BMS progress

much copied/reinterpreted. The code loses *a lot* of weight on
translation to c++.

also MPLAB now outright refuses to add files non-absolutely, to any
project. So all files added recently, and forevermore, shall have
absolute paths. At least until they fix this bug (i.e. never. cuz its
microchip).