Employ the ETag/commit id to avoid downloading raspberrypi/tools master.zip if not required.

The workaround is required because GitHub does not support
If-None-Match for those archives, despite sending an ETag header
in the response.
Make some of the packages optional.
Fix formatting: Replace spaces with tabs.
Fix log output: Replace ${CPU} with ${xarch}.
Refactor the code into multiple functions.
Unmount ${CHROOT}/proc when the script completes.
Use stricter options for bash: Catch unset variables as well as errors in subcommands.
Improve the debugging experience: Print stacktraces on errors.
Add some force modifiers at the right points.
Improve debootstrap usage: Make it possible to specify --variant and --include (as DEBOOTSTRAP_VARIANT and DEBOOTSTRAP_INCLUDE).
Refactor debootstrap variant usage.
Refactor __install_rpi_tools: Better caching of raspberrypi/tools, other improvements.
Make the name fixing inside __install_rpi_tools more robust.