Apparently, the Arduino IDE can't properly handle files that contain the byte order mark (https://github.com/arduino/Arduino/issues/2092)
Split out MCP2515 code into separate files to facilitate additional hardware options
Took a stab at merging in existing CAN work from Arduino (https://github.com/arduino/Arduino/tree/can) and from Collin Kidder (https://github.com/collin80/due_can)
Included hardware-specific #if defined() to make library platform neutral
Modifications to MCP2515 include:
- Renaming SPI #define's to start with MCP2515_SPI_
- Renaming mode #define's to start with MCP2515_MODE_
- Renumbering modes to reflect actual bits, and removing if/else branching from setMode() and readMode()