Jon auto update

* Refactors USI SPI Driver and shared attiny functionalities into submodules
* Updates Makefile for the submodules
* Integrates with the `attiny-common` submodule which should:
    * Make sure the right module is being plugged in (IR vs. Ambient)
    * Upload new firmware if old firmware is detected
    * Upload new firmware if the firmware version can't be read


Why are they bad?