feat: Add GenBank file format support for biological sequence data

## Summary
Add native support for loading GenBank (.gb, .gbk, .genbank) files, a standard format for biological sequence data with annotations maintained by NCBI.

## Changes
- Add `genbank` packaged module with pure Python state machine parser
- Register GenBank extensions in `_PACKAGED_DATASETS_MODULES` and `_EXTENSION_TO_MODULE`
- Add comprehensive test suite (28 tests)

## Features
- **Metadata parsing**: LOCUS, DEFINITION, ACCESSION, VERSION, KEYWORDS, ORGANISM, taxonomy
- **Feature parsing**: Structured JSON output with location parsing (complement, join)
- **Sequence parsing**: ORIGIN section with automatic length calculation
- **Compression support**: gzip, bz2, xz via magic bytes detection
- **Memory efficiency**: Dual-threshold batching (batch_size + max_batch_bytes)
- **Large sequences**: Uses `large_string` Arrow type for sequences/features

## Usage
```python
from datasets import load_dataset

# Load GenBank files
ds = load_dataset("genbank", data_files="sequences.gb")

# With options
ds = load_dataset("genbank", data_files="*.gbk", 
                  columns=["sequence", "organism", "features"],
                  parse_features=True)
```

## Test plan
- [x] All 28 unit tests pass
- [x] Tests cover: basic loading, multi-record, compression, feature parsing, column filtering, batching, schema types


Hi @lhoestq — quick status. The `_parse_genbank` refactor we discussed is done: the state machine is split into per-section handlers (`_handle_header_line` / `_handle_features_line` / `_handle_origin_line`) with a small `_FeatureAccumulator` owning the multi-line FEATURES/qualifier bookkeeping, so `_parse_genbank` itself is now a short dispatch loop and much easier to review. Behavior is unchanged and all existing tests pass.

I've also rebased the branch onto the latest `main` so it's current. Ready for another look whenever you have time — happy to adjust further.


On test datasets: I searched the Hub and couldn't find a public dataset hosting **raw** GenBank files (`.gb`/`.gbk`/`.genbank`) — the `Hack90/ncbi_genbank_part_*` series exists but it's already converted to parquet, so it won't exercise this loader. If it's useful, I can upload a small GenBank sample dataset (a handful of real NCBI records) to the Hub as a canonical test fixture. Want me to do that? In the meantime the PR's own `tests/packaged_modules/test_genbank.py` fixtures cover single/multi-record, complex feature locations, compression, batching, and column subsetting.

I think having one on the Hub that we can point to in the documentation would be useful for the community. This way they have an actual example they can try and replicate for their cases

Created one: **https://huggingface.co/datasets/ermiaazarkhalili/datasets-genbank-test**

It has 3 real, complete NCBI records — `U49845` (yeast), `V00662` (human mitochondrion, stored **gzipped** to show compressed loading works), and `X04370` (124 kb) — plus a card with a runnable example. Verified end-to-end:
```python
ds = load_dataset("ermiaazarkhalili/datasets-genbank-test", data_files="*.gb*", split="train")
# 3 rows; FEATURES decode to structured objects (Json()), and the gzipped file loads via xopen
```
Happy to move it under a different org or reference it from the docs page — let me know where you'd like it linked.