Also minor fixes and improvements:
* Fix error code handling when connecting a socket
* Fix some of the naming convention violations
* Add --print-http-header option to login command
#rb none
[CL 27702511 by yuriy odonnell in ue5-main branch]
* Add --login flag to sync command
* Add in-process token cache
* Add auth token when quering server features
* Use direct download path when supported by server
#jira UE-192913
#rb none
[CL 27535921 by yuriy odonnell in ue5-main branch]
* Make TLS a mandatory required library
* Redirect human-readable log messages of login and query commands to stderr, while only directing machine-readable messages to stdout
#rb none
[CL 27471298 by yuriy odonnell in ue5-main branch]
* Allow --include and --exclude options
* Compute approximate patch size from manifest A to B
#rb none
#preflight skip
[CL 25437799 by Yuriy ODonnell in ue5-main branch]
* Count scavenged blocks as "base" data for stats/telemetry
* Gracefully handle missing/invalid scavenge root path
* Cancel reading blocks from a particular source if a hash mismatch was found
#rb none
#jira UE-178864
#preflight skip
[CL 25326911 by Yuriy ODonnell in ue5-main branch]
* Log progress when scavenging blocks from local files
* Move prorress logging helper code to dedicated files
#rb none
#preflight skip
[CL 25247737 by Yuriy ODonnell in ue5-main branch]
This is useful for people who want to download each data set into a uniquely named directory, instead of always patching the last downloaded version.
Current implementation is highly experimental and should only be used for testing purposes.
#jira UE-178864
#rb none
#preflight skip
[CL 25190443 by Yuriy ODonnell in ue5-main branch]
Explicitly specify UNIVERSAL_NAME_INFOW instead of UNIVERSAL_NAME_INFO that depends on the compiler flags
#rb none
#preflight skip
[CL 25152835 by Yuriy ODonnell in ue5-main branch]
* This improves download performance of data sets with large numbers of small files due to reduced impact of latency
* Small files are grouped into ~4MB batches
#jira UE-175966
#preflight skip
#rb robert.millar
[CL 25150472 by Yuriy ODonnell in ue5-main branch]