Fix latent bug in GetBuildTime().

- Change the generated_build_date.h to contain the full timestamp, it makes the
  code less brittle.
- For official builds before 5:00am, it would generate a build time in the
  future. Fix this.
- Improve the error message in BuildTime.InThePast.
- Add test case to ensure the build is not more than 45 days old.
- Remove dummy test.
- Improve comments in base/BUILD.gn and base/base.gyp.
- Add functional write_build_date_header.py --help.

This change builds upon work in https://codereview.chromium.org/1641413002.

[email protected],[email protected],[email protected]
BUG=587694

Review URL: https://codereview.chromium.org/1846713002

Cr-Commit-Position: refs/heads/master@{#384991}
4 files changed