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
SampledTaskPoint: move base class to ScoredTaskPoint

SampledTaskPoint does not use any TaskWaypoint attribute / method.
SampledTaskPoint: don't initialise search_min/max in ctor

Don't hide missing UpdateOZ() call from valgrind.
SampledTaskPoint: remove redundant attribute search_reference

Use nominal_points.front() instead.
GotoTask: use UnorderedTaskPoint instead of TaskWayPoint
Device/Driver: add Blue Fly Vario (very similar FlyNet).
Merge branch 'master' of git://github.com/Tjeerdm/XCSoar
AbortTask: don't derive AlternateTaskPoint from UnorderedTaskPoint

No behaviour is changed by the AlternateTaskPoint sub class, only a
GlideResult got added.  This change allows making UnorderedTaskPoint
"final".