OLCTriangle: Use a branch and bound method for maximizing triangles
ContestManager: use third trace for triangle solver

The triangle solver needs a more detailed trace to find possible
closed trace loops which respect the 1000 meter rule.
AnalyseFlight: add trace size options
Merge branch 'faitriangle' of git://github.com/TobiasLohner/XCSoar
Topography icons

Allow icons to be drawn for all point Shapefiles in topology.tpl

A user can insert an icon name into the icon column in topology.tpl in the
.XCM file (e.g.)

 SpotHeight,5,mountain_top,1,64,64,64,1,5,

The corresponding resource ID icon (in this case map_mountain_top) and
label will be displayed for each point in the SpotHeight shapefile in the
.XCM. (My SpotHeight file has labels which are just the elevation in feet).
OLCTriangle: fix start/finish altitude check
OrderedTask: update TaskAdvance in SetFactory()

Previously, loading a task left the TaskAdvance object in whatever
state was configured for the default task.
InputEventsTask: translate task start message
TaskStats: remove unused attribute "Time"

It is not clear why this attribute is useful.
TaskStats: make "flight_mode_height_margin" a constant

This was never accessed except inside TaskStats.
TaskStats: simplify margin formula

No integer multiplication.
TaskStats: move task_started to new struct StartStats
StartStats: add attributes time, altitude, ground_speed

Replaces ProtectedTaskManager::GetStartState().  The new method is
lockless.
OrderedTask: remove unused method GetFinishState()
AbstractTask: eliminate GetFinishHeight()

The only caller was RulesStatusPanel::Refresh(), and this was
incorrect, because this function must be hard-coded to use the ordered
task, not the active task.
RulesStatusPanel: allow the TaskManager to be nullptr

Fill the attributes we do know from TaskStats.
StartStats: add method SetStarted()
GotoTask, AbortTask: move CheckTransitions() to UnorderedTask

Merges two identical implementations into the base class.
UnorderedTask: set StartStats.task_started
AbstractTask: use TaskStats instead of TaskStarted/Finished()