[messages] replace BOOT with AUTOPILOT_VERSION
[gcs] log autopilot version in alert window once
[gcs] remember version per aircraft
[test] test_ms2100: replace BOOT with TAKEOFF message
[build] add build version to the log and print warning if not matching runtime version
[build] improve build version stuff

- always save build version when updating anything that depends on libpprz, so it will also be updated on e.g. make tmtc
- only warn if the version number (major.minor.patch) is different, disregard the label, sha1, dirty postfixes in the string...
[server] close file even if file empty
Merge pull request #1050 from paparazzi/autopilot_version_msg

[messages] replace BOOT with AUTOPILOT_VERSION

The AUTOPILOT_VERSION message contains:
- the version encoded as integer with `MAJOR * 10000 + MINOR * 100 + PATCH`
- the complete version string as returned by paparazzi_version

This message is sent once at startup of the autopilot, but can also be registered like any normal telemetry message by adding it to the telemetry airframe file.

The version string is also displayed in the GCS alert window (once per aircraft, unless it changes)...

Also the "build version" is not written to `var/build_version.txt` and the server also writes it to the log.

When building an aircraft it will now warn if the last build version differs from current version.
It only checks if the current version number (e.g. 5.3.2) is contained in the full build version string. So it will warn if you changed branches to a different version, but not after e.g. committing only a airframe config change.

You can also run `make print_version` to show the current version (and the warning if build version differs).