- Bring over updated Session & SchemeHandler from the lite project
- Fix task tracking and cancellation relationship between `Fetcher` and `Session`
- ~~Update `ArticleSummary` handling to utilize `Codable` instead of an arbitrary dictionary, move summary fetching out of `Session`~~
- Remove `WMFArticlePreviewFetcher`
In the work on https://github.com/wikimedia/wikipedia-ios/pull/2949 @NHarateh_WMF found an issue where `Session` could call the completion for a task before it was tracked by `Fetcher`.
This should be discussed and refactored early in 6.3.
One possibility would be to move the task tracking and cancellation logic into `Session` and prevent it from returning `URLSessionTask`s. This would clean up the abstraction. `Session` could take an optional `cancellationKey` as a parameter to allow `Fetcher`s to link multiple requests together under a single cancellation key. `Fetcher`s would be responsible for keeping track of cancellation keys for requests they have in flight and passing those along to an interface on `Session` for cancellation.