Merge pull request #323 from wolfmanjm/upstreamedge

updaye from Wulfnor fixing epsilon
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
Add Makefile magic to exclude specified modules

Conflicts:

	makefile