$SOURCE_DATE_EPOCH support for build date stamp
If, and _only_ if, $SOURCE_DATE_EPOCH is found in environ during build,
use it to set the timestamp embedded in the binary instead of using
__DATE__ and __TIME__ cpp directives.
This per <https://reproducible-builds.org/specs/source-date-epoch/>
spec. It's sane and sensible, without removing date stamping which
matters. The examples encourage packagers to use timestamps which
do change when they backport patches, so that the date remains useful
for distinguishing builds instead of claiming one date forever across
multiple patchlevels.
This change written so that the old behaviour and code is used if the
environment variable is not found, to better continue to support ancient
platforms with other variants of date(1).
Built with and without an override, on macOS.