Merge branch 'next'
FLEETCARMA platform support and PIC32 sleep mode.

Added support for FLEETCARMA platform, including bluetooth power and
data and LED_A (green) and LED_B (blue).

Also added sleep mode for PIC32 micros. Also added CAN bus activity wake
up events and handling for this event that resets the device.
Replace tabs with 4 spaces.
Update gdb config for latest version of ARM compiler.
Remove trailing whitespace.
Merge branch 'next' into pr/113
Merge branch 'v4.0' into fleetcarma

Conflicts:
	src/Makefile
	src/bluetooth.h
	src/canutil.h
	src/interface/usb.h
	src/pic32/bluetooth.c
	src/pic32/power.c
	src/platform/pic32/canread.cpp
	src/platform/pic32/canutil.cpp
	src/platform/pic32/lights.cpp
	src/platform/pic32/usb.cpp
	src/power.h
Merge remote-tracking branch 'origin/v4.0' into fleetcarma
Merge some Bluetooth code into the UART section, pass tests.
Enforce valid PLATFORM choice when compiling
Share code in PIC32's light support.
Move USB power control from power to usb namespace.
Update baud rate for UART on the PIC32 in the docs.
Document FleetCarma platform.
Add troubleshooting tips for some pic32 items.

There's no easy "fix" for these two symptoms, so I just want to write it
down somewhere so if someone is running into the problem they can find
it.
Don't turn on CAN activity LED at startup - wait for activity.