Allow users to choose the default track name policy. By default, we'll switch
to a new, timestamp-based name. If they change the pref, they'll get the
old-style 'track n' style.
1) Make sure no one but service changes recordingTrackId (which is owned by it)
2) Cache sharedPreferences
3) Clear recordingTrackId if it doesn't correspond to a valid track or the service is not recording
4) More unit tests
For a track with ~2,500 points, the average drawign would take ~30-50ms, now it takes about 20ms (21ms if software clipping is enabled).
Removed all possible congestion points by introducing a blocking queue.
This change includes many fixes, including:
1) Major refactoring and clean up of the overlay, sped up drawing by a factor of 2x
2) Disable software clipping as it was slower by about 5% than w/o clipping and would trigger a bug related to map view spanning
3) Add waypoints synchronization and fixed a bug related to skipping the first wpt
4) Add a simple unit test