Add very early code for ELM327 emulation.

Requires a passthrough bluetooth adapter to be installed in place of the ICHIP wifi module. At this stage it would be best to configure your bluetooth adapter outside of GEVCU and leave it in passthrough for GEVCU to use.
Fixes to make the elm327 code compile. Also, integrated elm327 into the device manager and startup system so it is possible to enable and disable it now.
Semi working implementation of ELM327 emulator. Also, a new, more generic OBD2 handler that will be used both by CANPidHandler and ELM327Emu.
With this commit the project compiles and will successfully connect to torque and be seen as a valid ECU. However, look for next commit before it actually works properly.
There are actually two modes that the ELM327 can be in (that are relevant here): headers on, headers off. Now both versions are in code but only one is enabled. The next commit should have it all working.
Finished up code committed earlier. This should work now but is untested.
Fix a compile warning, fix output of OBD2 comm over ELM327 emulator with headers enabled.
Fixed bug in OBD2 - Code wasn't advertising two PIDs that we do in fact support.
Partial implementation of a command buffer for ichip - also some progress toward creating and reading a socket with the ichip.
Added an extra comment in OBD2Handler that better explains the current situation.
Merge branch 'WIP' of github.com:collin80/GEVCU into ArduinoDue
Implemented command buffering for all ichip commands now. Tested to be operational.
A whole lot of debugging output, Additional code to support talking to torque over wifi. Right now things are kind of broken if parameter polling is turned on. So, it's disabled. Don't run this. Just committing to be able to track progress and switch development machines.
Merge of code changes made by Jack Rickard for the official GEVCU version.
The GearSwitch enum was superfluous and has been removed.
Merge of website from EVTV source
Enabled DMA driven ADC for all boards. This really smooths out any noise on the ADC channels.
Add some more files into the VS project
Better commenting in sys_io, also fixed up the ADC setup to be theoretically proper now. It should be calculating a rolling 6ms average of each ADC channel now. It seems pretty smooth.
Additional work on getting OBD2 to work over ichip interface. It might be a dead end. :( The ichip seems to interpret 0x10 and 0x13 in the data stream and this causes an invalid state.