* Fix saving revision control data in the manifest during pack command
* Reuse file attributes from existing manifest when revision control identity matches
[CL 29396267 by yuriy odonnell in ue5-main branch]
* Ordered file list results in manfiests that can themselves be chunked and incrementally downloaded
* Add a command line parameter to specify storage location for pack command
[CL 29354873 by yuriy odonnell in ue5-main branch]
* Add --silent flag to explicitly turn off all console logging except warnings and errors
* Output command line when starting logging to file
[CL 29289476 by yuriy odonnell in ue5-main branch]
* This can be used to generate a compressed pack of a directory
* Supports using p4 have output to limit what is included in the pack
[CL 29223576 by yuriy odonnell in ue5-main branch]
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]