OrderedTask, TaskDijkstraMin: optimise start point
Allow optimising the start point by removing special-case code that
I'm not sure why it exists. It leads to awkward
current_leg.vector_remaining values: sometimes, the vector points to
the reference point, and sometimes it points to the optimised
location. Without the special case code, it seems to Just Work[tm].
The change to TaskDijkstraMin::DistanceMin() prepares the
GeoPoint::IsValid() check which may be added to other parts of the
task engine later.