Refactor ProvenanceWithPathDB.insert_location() and add a test for revision_add()
Also:
- enforce tz-aware datetime value for RevisionEntry.date
- fix build_isochrone_graph() to use a tz-aware datetime as min value,
- ensure CSVRevisionIterator produces tz-aware datetime values.
- simplify the code,
- extract the insertion in the 'location' table in a dedicated query to prevent from updating existing rows unnecessarily.
Migrated from D5234 (view on Phabricator)