Addition of a PID listener (well, some implementation of it anyway)

This addition will allow PID compliant / OBDII readers to get information from our device.
Initial un-tested implementation of PID responder
Support for both ECU broadcast and direct comm to this ECU.
Updates to compile against newest canbus library

The canbus library was changed to include more functionality, be easier to use,
and generally be better. There are no longer RX and TX specifications for frames,
just one type. Also, many other things that CanHandler did are now in the canbus
library.
Another round of updates due to changes in canbus library.
Merge branch 'ArduinoDue' of github.com:collin80/GEVCU into WIP
Change how frames are received to match the new way the canbus library works.
Added const to definition of temporary arrays. This is required by GCC
> 4.7.0
Merge branch 'WIP' of github.com:collin80/GEVCU into WIP
Merge pull request #57 from neuweiler/ArduinoDue

Arduino due
Merge branch 'ArduinoDue' of github.com:collin80/GEVCU into WIP
Removed changelog since it never was synchronized to GIT very well anyway.

Anyone who'd like to know what changed should read the GIT commits for now. Eventually a real changelog should be written.
Sync with EVTV released code

EVTV has released the first official version of the GEVCU code. The biggest differences from what existed here:

1. Addition of cooling. The code can now turn on/off a cooling fan in response to motor controller / motor temperature
2. Fixed the precharge for the motor controller
3. Made the serial console look better.

All changes in this commit were initially done by Jack Rickard of EVTV and merged into this code base by Collin Kidder. Blame me if they're broken now.
Remove call to loadParameters which was added in the last commit. That line breaks the wifi connectivity.
Fixed config.h to properly default to using SerialUSB. 95% of everyone is going to need that default now.
Added a super secret command X - this will essentially cause a software reset without disconnecting the USB serial.

The potential utility for this command while debugging over SerialUSB should be obvious. What should also be obvious is that you should never use this command while connected to any important external hardware. The command just calls setup() again which reinitializes everything. But, the old data is not deallocated first. This is potentially dangerous (hence don't do it with stuff connected) but allows for developers to see the debugging text on start up even when connected over SerialUSB.

It would likely be wise to remove this command in builds destined for general use.