[usb_telemetry] Fixed fetching device serial number
[stm32] add usb_tunnel, cleanup setup makefile

also replace usb_tunnel_0 and usb_tunnel_1 on lpc with one usb_tunnel target with configurable uart
[stm32] usb_serial: check if connected in putchar and send

cleanup and rename VCOM_transmit_message to VCOM_send_message
[setup] one usb_tunnel for both lpc21 and stm32
[led] add LED_AVAILABLE macro
[modules] dox for nav_survey_poly_osam
[rotorcraft] allow to turn off motors in failsafe mode

Allow arming/disarming motor as long as not in KILL mode and ahrs is aligned.
[modules] start pimping dependencies

Start working on #940

This replaces
```xml
<depend require="foo|bar" conflict="baz"/>
```
with
```xml
<depends>foo,bar</depends>
<conflicts>baz</conflicts>
```

and now allows to specify OR dependencies with | (pipe) similaro to Debian depends:
```xml
<depends>foo,bar,this|that</depends>
```
which would depend on: foo AND bar AND (this OR that)
[generators][modules] use module xml filename without path in dependencies
[modules] minor cleanup in cam_control
[state interface] update stateCalcPositionLla_i

Since LLA in float has bad precision, make this the last choice...
So we mostly first convert to ECEF and then use lla_of_ecef_i
which provides higher precision but is currently using the double function internally.

Also add mission conversions from ENU.
[tests] add first tests for state interface

and quiet some build output
update CHANGELOG
[ground_segment] represent unconfirmed settings with infinity

proposal to fix #1012:
- server: represent initial/unknown/unconfirmed settings with infinity
- page_settings: set label text to "?" upon commit and on update if value is "inf", also set label to "?"
[cockpit] add tooltip for current settings value label
[ground_segment] settings: also set current value lable to ? when requesting update