Prearm checks

This adds a number of prearm checks attempting to prevent takeoffs with invalid system setups. User feedback about the cause is clearly provided. We will want to make sure to display this very boldly in the GCS.

Tested on the bench, needs in-vehicle testing by devs.

@thomasgubler @julianoes @DrTon I would appreciate some in-vehicle testing. You can focus on establishing that you can still arm, I did simulate the error cases and made sure the error triggers.