InfoBoxes/Panel/MacCreadyEdit: Fix MC adjustment for non metric settings

Fixes trac issue #2654.
InterfaceConfigPanel: fix require_restart setters

The expression "require_restart |= changed |= X" always sets
"require_restart" to true if "changed" was set by another control.
This causes false positives in "require_restart".
{GC,Layout}ConfigPanel: fix require_restart setters

Similar to the previous commit.  The code was not exactly wrong, but
was misleading the (human) reader.
NEWS.txt: prepare version 6.5.1
IO/FileCache: move code to FileTimeToInteger()
FileCache: use the cache even when the system clock is wrong

Replaces an old kludge that was Windows CE only.  This can happen on
Android devices, too.
NEWS.txt: add missing lines
WinInet/Request: consistently restore the StatusCallback

Convert the URL to wchar_t before invoking SetStatusCallback().
Errors during the former will not corrupt the callback.
NMEA/Info: remove deprecated prototype ResetFlight()

Not implemented.
Replay: fix the Update() return value

Return true if the AbstractReplay instance has been updated
successfully.  Fixes auto-stop on GPS movement and suppresses the
simulator while replay is active.
ConditionMonitorSunset: check date_available()

Fixes potential assertion failure.
test/TestGRecord: unit test for XCSoar 6.4 / 6.5 G records

Fails due to TRAC #2657.
Logger/GRecord: eliminate bogus TCHAR variable

Should have been char, not TCHAR.
Logger/GRecord: don't use "unsigned" char strings internally
Logger/MD5: move IGC specific code to class GRecord
Logger/GRecord: fix G record regression (TRAC #2657)

Revert the 6.5 change that made the comma a "valid" IGC character.
This was correct, but made the vali-xcs incompatible.

There's a workaround for validating IGC files from XCSoar 6.5.
test/FixGRecord: workaround to fix broken 6.5 IGC files

Useful for repairing IGC files with a broken G record due to TRAC
#2657.
MapWindow: enable clipping

Fixes CrossSection-below-map corruption (TRAC #2631, #2661).
Gesture/BigThermalAssistantWindow: initialise "dragging"
MainWindow: implement gestures

Allows gestures in the CrossSectionWidget (TRAC #2655).  This works
because the CrossSectionWindow is "disabled", and therefore
mouse/touch events are delivered to MainWindow.