Conditional Basic Auth

Previously, basic auth headers were added to every DownloadCache
request.  In the case where there were no basic auth credentials,
empty strings were used for the username and password.  This was
wrong, although tolerated by the primarily used CloudFront.  This
change ensures that basic auth headers are only added when there are
both a username and password specified.

[#72253796]
Merge 72253796-conditional-basic-auth to master

[Completes #72253796]
Disable Auto-reconfiguration via configuration

Previously, auto-reconfiguration was always enabled.  The auto-
reconfiguration log might sometimes choose not to reconfigure, but if
there was a bug or some other situation that would prevent an
application from running, there was no way to explicitly disable auto-
reconfiguration from even being downloaded and run.

This change adds that configuration option to all three kinds of auto-
reconfiguration and documents how to disable them.

[#72265294]
Merge 72265294-auto-reconfig-kill-switch to master

[Completes #72265294]