Twizy update:

- CAN lockups fixed
- CAN data validation
- Charge+Key status from CAN 0x597 => reliable charge stop detection
- Range updates while charging
- Odometer
- Suppress SOC alert until CAN status valid
STAT SMS update:

- IF Twizy: include SOC minimum + maximum of current usage cycle
  (Suggestion: introduce common car variables for this info?)
- Odometer status added
BUGFIX: Fixed range calculation error in charge end phase
Added OVMS to OBD2 cable documentation image
(should be identical for every car with OBD2 standard port incl. CAN)
Twizy update:

- Better km to integer miles conversion (smaller error on re-conversion)

- New: providing car_linevoltage (fix 230 V) & car_chargecurrent (fix 10 A)

- New: providing car VIN to be ready for auto provisioning
  Att: CAN msg only contains the last 7 digits of the complete VIN,
       so only these should be registered at the provisioning server.

- New feature: set individual maximum range for ideal range calculation.
  The "estimated range" will remain that provided by the Twizy.
  Send an SMS "FEATURE 12 xx" with xx = max range in configured units.
  Set to 0 to deactivate and return to Twizy estimation.

- New feature: watch and alert about "sufficient charge reached".
  Both SOC and ideal range can be monitored.
  Set sufficient SOC: SMS "FEATURE 10 xx" (xx = percent)
  Set sufficient range: SMS "FEATURE 11 xx" (xx = range in configured units)
  0 = deactivate. Both thresholds may be redefined anytime.

- Now using charge state 2 = "topping off" if either one of the "sufficient
  charge" thresholds has been reached, or 97% SOC.

- Minimum SOC warning now also triggers a charge alert (would only
  update status before)
Framework change:

- STAT? SMS response now includes both estimated and ideal range
Twizy update:

- Storing last known range in persistent memory (Feature 13) as a
  workaround against losing range calculations due to module resets.
  This should be considered a temporary solution until the frequent
  reset issue has been solved -- feature slots should not be used
  like this.
Merge remote-tracking branch 'dexterbg/master' into v2
#94 v2 firmware re-work for multiple vehicle support - work in progress
#94 v2 firmware re-work for multiple vehicle support - work in progress
Twizy update:
- Crash reset hardening w/o eating up EEPROM space by using SRAM
- Interrupt optimization
Merge branch 'master' into v2

Conflicts:
	vehicle/OVMS.X/vehicle_twizy.c

...solved: stale counters removed
#94 v2 firmware re-work for multiple vehicle support - work in progress (net_sms != null bug)
#72 Add GPS support for cars without it
#72 Add GPS support for cars without it
#94 v2 firmware re-work for multiple vehicle support - work in progress (net_sms rework for hooks)
#94 v2 firmware re-work for multiple vehicle support - work in progress (vq hardware support)
Firmware builds for all
!UNTESTED! Intermediate framework rework commit:

- introduced Twizy SMS command handler

- moved Twizy specific STAT handler to vehicle module
- stripped standard STAT handler back to unspecific parts
  (kept ODO output, maybe useful for other vehicles)

- changed framework net_sms_stat() call to net_sms_in() call
  to support vehicle specific overloads (needs review)

- defined handler stubs for first Twizy specific commands (RANGE + CA)
  (empty, not yet called by framework -- todo)
- moved Twizy debug output to DEBUG command