feat: audio speech to text partition (#4264)
## Summary
Enables partitioning of WAV audio files into document elements by
transcribing with an optional speech-to-text (STT) agent, defaulting to
Whisper.
Closes #4029
## Changes:
- New partition_audio() and routing for FileType.WAV so partition()
supports audio.
- Pluggable STT layer: SpeechToTextAgent interface and
SpeechToTextAgentWhisper implementation.
- Optional extra audio in pyproject.toml (openai-whisper); all-docs
includes audio.
- Config: STT_AGENT (and STT_AGENT_MODULES_WHITELIST) for choosing the
STT implementation.
## Usage
pip install "unstructured[audio]" then partition("file.wav") or
partition_audio("file.wav", language="en").