[hm] Slightly simplify RF SPI setup
[hm] Remove logging "level" from HMLG. Everything uses 0 anyway
[hm] Add adc_noise.h

Tests the ADC to see how much noise there is by running in freerunning mode for 4ms
[hm] Reduce ADC noise samples to 255

Forgot that ADC takes 13 cycles, not 1, so was actually taking 54ms
instead of 4ms. I only strictly need 2 PWM cycles anyway.
[hm] Remove GRILLPID_FAN_BOOST_ENABLED and always disable PWM while reading temp

Really reduces noise when blower is running. The servo however still
may be a problem because it stays powered up.
[hm] Move noise test to grillpid

Might not be the greatest place because now lmremote compile will fail
[hm] Stop disabling fan while reading, instead only read mid-PWM cycle

This doesn't guarantee we won't read when the PWM flips on (due to
interrupts) but it works almost all the time. The old method gimped
the blower output too much by being off up to 224ms out of every 1s period.

Also fixes compile error about pid not being defined.
[hm] Update /sp docs to include manual mode info
[hm] Update fn= documentation, thanks Steve_M
[hm] Freerunning ADC mode controlled by the grillpid unit

Allows more oversampling but takes more code space.
[avr] Add testing GRILLPID_FAN_MANUALPWM and switch to fast PWM for automatic
[hm] Set PIN_ALARM to output on startup to prevent the floating pin from making a buzz
[hm] Rewrite fan output to be a 62khz switching buck converter with feedback
Merge branch 'adc-freerun'

Conflicts:
	arduino/heatermeter/grillpid.cpp
	arduino/heatermeter/strings.h
[hm] Remove GRILLPID_FAN_MANUALPWM code
[hm] Remove adc_noise.h as it is handled in the freerun now
[hm] Replace ADC limitCnt with high/low range to detect plug events
[hm] ADC noisy range check for probes was inverted. Oops!
[hm] Max ADC value is actually not (2^13)-1 it is ((2^10)-1 * 2^bits)

Adjusts temperatures up by about 0.1%
[hm] Add analogReadRange() to header