fetcher: add concurrent feed fetching with bounded parallelism
* uses tokio JoinSet and Semaphore for bounded concurrency
* SLURP_FETCH_CONCURRENCY env var controls limit (default: 5)
* setting concurrency to 0 allows unlimited parallel fetches
Sequential fetching was slow when subscribed to many feeds.