* Fixed M303 thermal protection
The temperature sanity checking logic was not being applied during M303
(pid autotuning) because instead of setting a target temperature, it
directly manipulated the pwm values. When PIDTEMP/PIDTEMPBED is
enabled, PWM values rather than the target temperature determine whether
the heater is on. I changed this to look directly at the PWM amount
when pid is enabled.
* Turn off heaters on M303 error
Currently, PID autotuning stops if it overshoots the temperature by 20C
or if if the temperature does not change for 20 minutes and it times
out. I added calls to disable the heaters in these scenarios.
* Removed unnecessary if statement.
Added changes suggested by GMagician.
* Update temperature.cpp
* Update temperature.cpp
* Update temperature.cpp