I noticed that - historically - setDownload() could also be used to accept
whatever weird value (like false, 0, etc.) to activate a download, and then
assuming a nice default only for empty strings.
So, this change continues to give full compatibility to PHP 8.1 but
restoring this (weird?) behavior.
This also adds a bit of inline documentation to put this thing more explicit.
For more context see the previous version:
{5952b0a31b6aac0718bc23aefe43560b9bfe8cc5}
See also the change that did not intend to affect this behavior:
{96ae4ba13acbf0e2f8932e950a92af0495f034d7}
Ref T15190