Working on device abstraction.  Created include preprocessor scheme for defining device family and id at compile time using compiler flags.

g++ arguments get are used in device config to pull in the correct hardware specific device config header which includes device specific configurations (peripheral info, etc).

Have to think about if / how to compile out entire peripherals if they are not needed.
I'm also go to start with the easiest way to store pin info...using fixed sized arrays regardless of actually number of pins.  This is a candidate for memory optimization.