DEFINE_HEATER used to take 3 arguments. Today it takes 4. Soon it might
take 5. The transition from 3 to 4 was painful while old config files
had not caught up to the new parameters. Let's avoid the pain again in
the future by making this macro overloadable to accept any correct number
of arguments while doing the right thing. Also let's accept 5 or 6
parameters so new configs will work with today's "older" code.
Works very nicely from full off (M106 S0) to full on (M106 S255).
Test: M106 should work now as expected. M106 S0 should turn full
off, M106 S255 should turn full on, both without any spike on the
scope.