Improvments possible:
- allowed order (asc, desc) could be an enum exposed in interface.py (D3629)
- investigate why type_validator in PagedResult does not work (generic may not be supported in mypy...)
Impacts only swh-web:
```
grep -r 'origin_visit_get(' ../*/swh/** | grep -v "swh-storage"
../swh-deposit/swh/deposit/migrations/0018_migrate_swhids.py: all_visits = storage.origin_visit_get(origin)
../swh-web/swh/web/common/service.py: for visit in storage.origin_visit_get(
../swh-web/swh/web/tests/browse/views/test_origin.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_origin.py: origin_visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_origin.py: origin_visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_origin.py: origin_visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_origin.py: origin_visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_origin.py: origin_visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_content.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_content.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_directory.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/views/test_directory.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/browse/test_snapshot_context.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/common/test_identifiers.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/common/test_identifiers.py: visits = archive_data.origin_visit_get(origin["url"])
../swh-web/swh/web/tests/common/test_service.py: expected_visits = archive_data.origin_visit_get(new_origin.url)
../swh-web/swh/web/tests/common/test_service.py: origin_visit = archive_data.origin_visit_get(origin["url"])[-1]
../swh-web/swh/web/tests/conftest.py: def origin_visit_get(self, origin_url):
../swh-web/swh/web/tests/conftest.py: visits = list(self.storage.origin_visit_get(origin_url))
../swh-web/swh/web/tests/strategies.py: visits = list(tests_data["storage"].origin_visit_get(origin["url"]))
```
Related to T645