Gather and record build fingerprint and vcs info in bootconfig

Build info logic are all moved into workspace_status.sh and
libbuild_number.

Build fingerprint captures the characteristic of the build, like
version, build incremental number, and dev/prod flag.

Build VCS info captures the source origin of the build, like git branch
and revision.

Build metadata are gathered via bazel build stamping mechanism.
Build number must be specified in the environ.
Git branch must be specified in the build system config or environ.
Git revision is detected automatically if a git tree is found.

Preview:
```
Fingerprint: prod/mainline-18/P125976338
VCS info: gbl-mainline:f5ff414f0e6f
```

Bug: 517573530
Test: Run unit tests
Change-Id: I071ce963d308a5de027819d232509544b4ed88d1
(cherry picked from commit fe666bfd4ceae4700e287c9b520eede2eb531e64)
10 files changed
tree: 58c0c80b1f2badf7e839ed13b0234acd7d102f09
  1. gbl/
  2. libxbc/
  3. LICENSES/
  4. vts/
  5. .clang-format
  6. .gitignore
  7. BUILD
  8. OWNERS