* Before abstraction, adding speed init from VW as well
* strting to abstract carstate class
* fix bug and update lock?
* revert pipfile change
* another bug
* fix linter
* bug fix
* remove a bunch of diplicated kf code
* better to not have class vars. will abstract __init__ anyway later
* Abstract gear parser static method (#1107)
* abstract common instance vars in carstate init and a generic gear parser static method
* update opendbc (#1105)
* abstract gear parser for chrysler
* update opendbc (#1106)
* abstract gm gear parser too
* remove unnecessary random vars
* Resume Required Alert should be triggered off of ECM state
On GM cars the ECM goes into cruise state 4 (standstill) and in order
for the ECM to accept cruise inputs, the resume button must be pressed
to drive it to state 1 (active).
Previously rather than testing for if the ECM was in state 4, the wheel
speed sensors were checked that the vehicle was going less than 0.5 m/s.
In some cases this could cause the resume required alert to be displayed
before the car actually came to a stop as far as the ECM was concerned.
If the alert is triggered before state 4 and OP demands acceleration,
its possible for OP to acelerate while the Resume Required Alert is
displayed created a very confusing UX.
* After more review, the problem was actually with the 'if at_full_stop' check was inside an else statement preventing entering the stopped mode if braking is 0