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.

R=thakis@chromium.org,felt@chromium.org,lgarron@chromium.org
BUG=587694

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

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