Initial Dmap changes.
Structs for fabric GPIO, SPI controller and I2C controller.
SPI logic.
Some upper level MUX logic.
I2C logic (no locking yet).
Add multi-process support for Win32 I2C.
Added initial (not yet thread-safe) logic to modify the state of a bit on an I/O Expander.
Move methods from I2cController.h to .cpp.
Implemented I2C callbacks to allow read-modify-write transactions.
Removed some I2C delays.
Plumbed Fabric GPIO through to Wire layer.
Replaced PinSupport.h/.cpp with class.
Implemented general GPIO support across all types of pins.
Added support for aborting I2C transfers via callback.
Implemented driving PWM chip as an I/O expander (for driving MUX select lines).
Implemented reading and writing Legacy GPIO pins.
Updated some comments to Doxygen format.
Update wiring code for Dmap compatibility.
Removed code made obsolete by Dmap, or not yet implemented in Dmap, from arduino.h.
Modified wire.h to use new Dmap based I2C code.
Updated some comments.
Fixed hardware serial bug.
Use pin function lock functionality.
Implement Lightning nuget
This change implements the lightning nuget.
It also fixes an API compatibility bug.
Merge pull request #65 from ooeygui/Dmap

Implement Lightning nuget
Fixed SPI pin configuration problems.
Set SPI pins SCK and MOSI as outputs and MISO as input.
Added SPI speeds down to 1 KHz for testing.
Fixed inaccurate SPI speed configuration problem.
Added methods to read pin directions, largely for code testing use.
Fixed some comment typos.
Merge pull request #70 from JustAddWires/DMap

Fixed SPI pin configuration problems.
Set I2C fast speed to 400khz.
Merge pull request #73 from JustAddWires/DMap

Set I2C fast speed to 400khz.
Set Legacy device name for latest image.
Merge pull request #75 from JustAddWires/DMap

Set Legacy device name for latest image.
Initial, basic analogRead() support.
Added support code for the ADC on the Gen2.
Fixed bug that Pin Mode could not be set to ANALOG_PULLUP.
Added/edited comments.
Moved code from SpiController.h to .cpp.
Added support for faster SPI speed (12.5 mhz) for ADC.
Added pin attributes table for Gen1.
Merge pull request #80 from JustAddWires/DMap

Initial, basic analogRead() support.
Implement analogReadResolution().
Added analogReadResolution() to set the number of bits returned from an ADC conversion.
Scale ADC values to the requested number of bits in the analogRead() routine.
Added analogReference() function.
Fixed ThrowError() call problem in analogReadResolution() function.
Implemented analogWrite()/PWM for Gen2.
Moved ADC pin number to channel translation out of the Arduino Wiring layer for simplicity and consistency.
Fixed problem with pin attributes table from the I/O expander bit value definitions.
Fixed problem in mux attributes table relating to the PWM MUXes.
Fixed typos in comments.