[guidance_v] pass only vertical thrust component to gv_adapt_run

Improve issue #527.
Get an estimate of the ctually applied thrust in the direction of the gravity vector instead of total thrust
to pass to the adaptive nominal thrust estimation.

Still should be improved by using the actual thrust after saturation/mixing...
[guidance_v] make some functions static
[guidance_v] fix vertical thrust from COMMAND_THRUST
[guidance_v] only compute thrust coeff once
[guidance_v] slightly more correct and efficient thrust_coeff calc
navdata_port is private.
There's no need for |port| to be dynamically allocated.

Also fixes the bug that if |nav_fd| open fails, port->isOpen and
port->isInitialised are not cleared.
Hide more private data.
Writes can be partial, in theory at least (note, all writes are currently
length 1).
Read to NULL is not legal.
Retry blocking writes.
baro_update_logic() can be static.
Use constants consistently.
navdata had better be the same size as a packet.
|navdata| does not need to be dynamically allocated.
Make sure writes complete.
Add full_read().
[generator] Aircraft generator added AC_ID
[stm32] actuators_pwm: add TIM1,8,9 and 12
[stm32] actuators_pwm: TIM9 and TIM12 only available on STM32F4