feat: /search endpoint
Second part of FTS implementation using duckdb for https://github.com/huggingface/datasets-server/issues/629

This PR introduces a new endpoint `/search` in a new project **search** service with the following parameters:
- dataset
- config
- split
- query
- offset (by default 0)
- length (by default 100)

The process of performing a search consists in:
1. Validate parameters
2. Validate authentication
3. Validate split-duckdb-index cache result in order to verify if indexing has been previously done correctly
4. Download index file from /refs/convert/parquet revision in case of missing otherwise, use it directly
5. Perform full text search using duckdb
6. Return response with similar format as /rows

```
    features: List[FeatureItem]
    rows: Any
    num_total_rows: int --> I added this new field because I think it will be used in the UI for pagination

```

Note.- In another PR, I will add a k8s Job that will periodically delete the downloaded files based on their last accessed date -> https://github.com/huggingface/datasets-server/pull/1536
feat: /search endpoint: Second part of FTS implementation using duckdb for https://github.com/huggingface/datasets-server/issues/629

This PR introduces a new endpoint `/search` in a new project **search** service with the following parameters:
- dataset
- config
- split
- query
- offset (by default 0)
- length (by default 100)

The process of performing a search consists in:
1. Validate parameters
2. Validate authentication
3. Validate split-duckdb-index cache result in order to verify if indexing has been previously done correctly
4. Download index file from /refs/convert/parquet revision in case of missing otherwise, use it directly
5. Perform full text search using duckdb
6. Return response with similar format as /rows

```
    features: List[FeatureItem]
    rows: Any
    num_total_rows: int --> I added this new field because I think it will be used in the UI for pagination

```

Note.- In another PR, I will add a k8s Job that will periodically delete the downloaded files based on their last accessed date -> https://github.com/huggingface/datasets-server/pull/1536