Add verification for downloads of update.sh

Before, during the build process, packages were downloaded over http
without authentication. Now, the Release file and packages are properly
verified. If verification fails, a warning will be presented to the
user with the option to ignore it.

Note that in order to perform GPG verification of the Release file, the
user must have the Raspbian signing key in their keyring. The key can
be obtained from public keyservers (0x9165938D90FDDD2E) or from
https://archive.raspbian.org/raspbian.public.key.
Use Release file to check available extensions
Force authentication for cdebootstrap-static

Before, during initial bootstrapping, cdebootstrap-static ignored "the
unavailability of Release.gpg, missing keyrings, broken signatures, and
missing gpgv executable". This commit adds the necessary dependencies
to be able to perform the verifications. Following this commit, the
signatures/checksums on the Release file and all packages are properly
checked.
Download and verify GPG keys in update.sh

This also switches from using the user's personal keyring to using a
temporary keyring for `update.sh` and fingerprints hardcoded in
`update.sh`.
Include raspberrypi.org GPG key in installer image

Before, the key was being downloaded insecurely with wget during
installation without verification. Now, the key that was downloaded and
verified by `update.sh` is included in the installer image so that it
doesn't need to be downloaded at install time.
Refine user interface of update.sh

Before, the output was very verbose, particularly with wget downloads.
Now, much less output is generated so that it is easier to monitor.
Additionally, added confirmation messages for successful verifications
and changed verification problems from warnings to errors.
Provide message if not all packages found in list

Before, `update.sh` would exit without any messages if not all required
packages were found in the package lists. Now, it tells the user what
went wrong.