Always calculate steer rate, remove redundant data.

Move calculation of steer rate to ForkMotorController to record it for
every iteration, not only when the estimate is calculated. Remove
redundant fields in Estimator Message. Steer rate has been moved to
Encoder message.
Merge remote-tracking branch 'hazelnusse/gainschd' into gainschd

Conflicts:
	firmware/src/gain_schedule.cpp
Set initial w, remove unneeded state vector.

Explicitly initialize w to zero. Remove state_ data member in
GainSchedule as it is not necessary.
Remove set_state in Gain Schedule.

Remove set_state since there is no longer any state_ member to set.
Increase rear motor proportional gain.
Merge remote-tracking branch 'oliverlee/gainschd' into gainschd
Change Rear Wheel Rate calculation.

Use a 20 sample (100 ms) moving average in calculating dtheta/dt.
Change steer rate calculation.

In steer rate derivative filter, move pole from 50 Hz to 10 Hz.
Change estimation and control behavior.

Both fork state estimation and control continue after being triggered.
If the rear wheel rate decreases under the threshold, estimation/control
does not turn off, respectively.
Calculate observer transfer functions.

The gain and zero of the transfer function from the four observer inputs:
steer, roll rate, steer rate, and steer torque, to the observer output roll
rate are now computed for each speed.  The transfer functions are in bode form
so the gain is the s=0 gain.
Fix typo in model_data data member.
Merge remote-tracking branch 'oliverlee/gainschd' into gainschd
Added eigenvectors to controller data.
Rename discretization function name.
Calculate reduced order observer transfer functions.
Refactor number and range of speeds.
Change control and estimation default thresholds.
Ignore intermediate latex to pdf files.