[bazel] Rules to build the boot-rom.

* Adding resources to stamp the bootrom
* Fulfilling and tweaking boot-rom dependencies for bazel
 * scramble_image.py
 * rom_chip_info.py
  * take version input as a file not a command-line arg
* added autogen for hw/ip/rv_core_ibex/data
* Added a rule to autogen chip_info
* Added a rule to build ibex_peri.c in sw/device/lib
* added a shell script to list details of workspace for a boot-rom stamp

Tested:
```
build/lowrisc_dv_chip_verilator_sim_0.1/sim-verilator/Vchip_sim_tb
--meminit=rom,bazel-out/k8-fastbuild-ST-b8775c98f59c/bin/sw/device/boot_rom/boot_rom_verilator.scr.40.vmem
--meminit=flash,bazel-out/k8-fastbuild-ST-b8775c98f59c/bin/sw/device/examples/hello_world/hello_world_verilator.elf
--meminit=otp,build-bin/sw/device/otp_img/otp_img_sim_verilator.vmem
```
outputs:
```
I00001 boot_rom.c:70] Boot ROM initialisation has completed, jump into
flash!
```
to uart0.log

Signed-off-by: Drew Macrae <drewmacrae@google.com>
diff --git a/util/get_workspace_status.sh b/util/get_workspace_status.sh
new file mode 100755
index 0000000..e8dc548
--- /dev/null
+++ b/util/get_workspace_status.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# Copyright lowRISC contributors.
+# Licensed under the Apache License, Version 2.0, see LICENSE for details.
+# SPDX-License-Identifier: Apache-2.0
+
+# This script will be run by bazel when the build process wants to generate
+# information about the status of the workspace.
+#
+# The output will be key-value pairs in the form:
+# KEY1 VALUE1
+# KEY2 VALUE2
+#
+# If this script exits with a non-zero exit code, it's considered as a failure
+# and the output will be discarded.
+
+git_rev=$(git rev-parse HEAD)
+if [[ $? != 0 ]];
+then
+  exit 1
+fi
+echo "BUILD_SCM_REVISION ${git_rev}"
+
+git_version=$(git describe --always)
+if [[ $? != 0 ]];
+then
+  exit 1
+fi
+echo "BUILD_GIT_VERSION ${git_version}"
+
+git diff-index --quiet HEAD --
+if [[ $? == 0 ]];
+then
+  tree_status="clean"
+else
+  tree_status="modified"
+fi
+echo "BUILD_SCM_STATUS ${tree_status}"