refactor(libcommon): remove `Indexer` in favor of local caching in the `rows` endpoint (#3251)
* refactor(libcommon): remove the effectively unused arguments of `Indexer`
* style: remove unnecessarry imports
* refactor(libcommon): remove `Indexer`
* refactor(services): directly create `RowsIndex` instead of `Indexer`
* test(libcommon): fix `test_rows_index_query_with_empty_dataset` to use `ds_empty`
* chore: missing import and mypy types
* style: fix import order
* fix(libcommon): cache the latest instance of `RowsIndex`
* test(libcommon): add a test for caching the latest RowsIndex instance
* fix(libcommon): only cache RowsIndex when serving from the rows endpoint
* test(libcommon): remove previously added test case for caching RowIndex instances
* chore: missing type annotations