This race condition leads to a crash in TrackStatisticsUpdater as the time might appear to move backwards if the created TrackPoints are not stored in order. Might happen if multiple sensors (BLE or GPS) are used in simultaneously.
Every method affected by a race condition is now synchronized.
Problem was introduced in c4b8082efcFixes#1151.
GPS is optional in this case, but no coordinates will be available.
Naive implementation tries to store data every second using the UI timer.
Part of #500.