test: add pipeline e2e tests with forward sync and unwind
Add e2e tests for pipeline forward sync and unwind functionality using
FileClient-backed downloaders. These tests verify that the pipeline can:
- Sync forward using mocked downloaders that provide real block data
- Unwind to a previous state correctly
- Run with all stages including execution, hashing, and merkle stages
Tests added:
- test_pipeline_forward_sync_and_unwind: Basic forward sync + unwind
- test_pipeline_sync_unwind_resync: Sync, unwind, verify state
- test_pipeline_unwind_via_target: Unwind via PipelineTarget
- test_pipeline_sync_many_blocks: Stress test with 50 blocks
- test_pipeline_full_stages_state_roots: Full pipeline with all stages
including Execution, AccountHashing, StorageHashing, Merkle
Also adds Default impl for FileClient to simplify test setup.
Amp-Thread-ID: https://ampcode.com/threads/T-019c067e-3b54-70bc-8676-8bf8d25460b4
Co-authored-by: Amp <amp@ampcode.com>