Preflight check improvements

This branch adds three important pieces:

- An automatic check of the RC calibration and DETAILED error messages about which channel and which parameter failed.
- var args (so printf() equivalent variable arguments) to the mavlink message outputs.
- IO alarms are back to what they were designed to: A trap that only clears on reads (the current state can be obtained via status)

All tested, good to merge.