Adding FSAE Library

This will contain all code that is reused throughout the projects. Also
this will contain headers for keeping track of which pins are used in
which project. This is so that we can drive unused pins to logic low and
keep the function that does it generic and a part of the library.
Lastly, this library will contain defines that used throughout the
project for CAN. This includes message IDs and byte locations of data.
FSAE Library CAN header

Adding the FSAE Library CAN header to the ECAN config header for each
project.
Adding FSAE Library to Projects

This is configuration stuff that adds a path to FSAE.X and the source
file to the the uSD node project.
Fixing Code and Adding FSAE Library

This is a fix for potential race conditions in the uSD source code. In
this application we don't have multiple threads, but with interrupts
present we need to be conscious of how we access volatile variables. In
the past this has been ignored but it's important that we disable
interrupts for critical sections where we can't perform atomic
operations on volatile variables.

NOTE: all this code is untested and this commit may have broken the
code.

Lastly, changes we made to make use of the new FSAE Library.