Extract a blocking mw http client from CirrusNamespaceIndexMap
We have use cases in the saneitizer for performing more infrequent and cachable http requests against the mw api. They need to do basically what the namespace index map is already doing. To help things along extract the general bits from there into a dedicated mediawiki http wrapper classes.
The saneitizer has a similar use case to reuse the endpoint and async fetcher abstractions. These are already quite generic and didn't need any direct code changes, but were changed to remove "doc" from the names which implies a specificity that isn't necessary.
Bug: T358599