Add outr/outi macros to simplify immediate outs and prepare for m48/m168 merge.
Reorder settings.
Further reduce 16 and 24-bit immediate manipulation into macros.

Slight optimizations result in update_timing, but this mostly just
simplifies the code.
Update dead time.
Use the FET port instead of fixed port (no output change).
Do not clobber temp5, temp6, temp7 in beep routines.
Rename "rc_not_full" to "rc_duty_set".
Comment updates.
Update i2c input for BL-Ctrl v2 support, including reversing in MKTool.
Further reduction into macros.
Add hardware checking and voltage sensing (disabled by default).

It seems to currently have problems on some boards, such as a
tp.hex-compatible one I found laying around.
Rename afro3 to afro_nfet to avoid confusion.
Enable hardware checking.