TaskPoint: remove GetVectorPlanned(), GetVectorTravelled()

These are only relevant for OrderedTaskPoint.
GeoVectorMemento: use GeoVector::Invalid() in constructor
TaskLeg: make all attributes "private"
TaskLeg: don't initialise GeoVector attributes

Don't try to hide valgrind warnings on missing ScanX() calls.
TaskLeg: inline the constructor

.. and GetNominalLegDistance() and a few more internal methods.
Reduces overhead.
Manual airspace_and_flarm.tex: Better explanation on warning dialogue.
TaskLeg: call GetPlannedVector() in GetRemainingVector()

If state is AFTER_ACTIVE, then the code was identical.
GeoVector: add constructor Zero()
TaskLeg: use GeoVector::Invalid() for unreachable code
AbortTask: GetHomeVector() returns invalid if no home

When no home is configured, don't return an empty vector, as this is
bogus.  This syncs behaviour with its only caller, i.e.
TaskManager::UpdateCommonStatsWaypoints().
GeoVector: remove useless dummy constructor

This constructor was dangerous because it could implicitly cast a
number to a GeoVector.
Compiler.h: add wrapper macro for __builtin_unreachable()

Suppresses warnings and can reduce overhead.
test/test_mc: fix build breakage due to GeoVector ctor
Device/Driver: add Blue Fly Vario (very similar FlyNet).