fix m23
fix m26 properly
fix M26 and M23
Merge pull request #322 from wolfmanjm/upstreamedge

fix M26 and M23
Merge remote-tracking branch 'upstream/edge' into working
updaye from Wulfnor fixing epsilon
Merge pull request #323 from wolfmanjm/upstreamedge

updaye from Wulfnor fixing epsilon
Merge remote-tracking branch 'upstream/edge' into working
added laser_module_pwm_period config setting which adjusts the pwm rate by setting the pwm period in microseconds
added laser_module_pwm_period to ConfigSamples
TemperatureControlPool: fix off-by-one in pool_index
Module: remove unused kernel pointer, shrink every Module instance by 4 bytes
Don't chain header includes if we don't have to, use predeclaration if we only need pointers. Include necessary headers from implementation rather than declaration.
Robot: remove current_position as it's substantially similar to last_milestone and can be completely replaced by this slight rework of append_line()
Kossel: forward kinematics implementation. Added Vector3 class to handle vector math, eg bed autolevel transform
Vector3: C++ification. Apparently showing my roots as a C programmer.
enabled inversion of PWM pin within Laser Module
Fix switch module to parse input and output commands properly
Merge pull request #324 from wolfmanjm/fix/switch

Fix switch module to parse input and output commands properly
Merge remote-tracking branch 'upstream/edge' into working