* Implemented initial HTTPRequestTimeoutManager + added first couple of tests
* Cleaned up the code and added a bunch more unit tests based on the Android test suite
* Updated doc format
* Add new files to workspace
* Added HTTPClient tests testing interaction with timeout manager
* Swiftlint fixes
* Updated comment
* Add missing file to workspace
* Fix after rebase
* Added extra HTTPClient <-> HTTPRequestTimeoutManager tests asserting on the recorded events
* Implemented PR feedback
* Fixed compile issue
* Fix compile issue
* Implemented PR feedback
* Removed deleted file reference from workspace
* Fixed test after changing reset timeout
* Make sure the default HTTPRequistTimeoutManager is using the default value from the HTTPClient
* Add a sophisticated test testing the full timeout flow against an unroutable IP for a real world scenario
* Updated timeout case name
* Fixed case where .timeoutOnMainBackendForFallbackSupportedEndpoint was also recorded for non timeouts and added tests to prevent regression
* Fixed only stubbing the HTTP response based on path, since that could be the same across hosts, resulting in flaky tests
* Implemented tracking ConnectionErrorReason using DiagnosticsTracker on HTTP errors
* Add new file to workspace
* Updated string value of ConnectionErrorReason cases to match Android implementation
* [skip ci] Generating new test snapshots (#5868)
* [skip ci] Generating new test snapshots (#5869)
* [skip ci] Generating new test snapshots (#5870)
* [skip ci] Generating new test snapshots (#5871)
* [skip ci] Generating new test snapshots (#5872)
* [skip ci] Generating new test snapshots (#5874)
* [skip ci] Generating new test snapshots (#5873)
* Updated the list of URLError.code's that we consider a network error
---------
Co-authored-by: RevenueCat Git Bot <72824662+RCGitBot@users.noreply.github.com>