Many large changes which should really be split up

- Fix consistency checks
- Factor out methods
- Improve display
Move notes to README.md
Use ':' as a separator rather than '/'
Factor out Lap.isEmpty()
Add end and delta time to Lap display
Add start, end and delta distance to Lap display
Factor out Activity.isEmpty()
Add start, end and delta time to Activity display
Factor out some helpers used by the app and by tests
Add tests
Fix removing time-only tracks when merging laps
Check we're not on a file scheme URL before trying to write to file
Purge output file before writing to it

Also improve error handling.
Handle activities with zero laps
Update the Activities object when changes are made to an Activity