build: core: Parameterize recovery with a variant

Include extra vendor config early.  If RECOVERY_VARIANT is set, use it
to look for the recovery in an alternate path.

Change-Id: Iba54f0746d728c0dfeeb67b4d3166d5e25b1b5d7
(cherry picked from commit c1b0bb68ba32eda4b5a2fca10f8aeaf8924935b6)
tools: getb64key - print the base64 version of a PEM public key file

Change-Id: Ia94ff560c88dfe85c3fa55db5c8219aa0d3419ee
(cherry picked from commit be532ab6ea6ed1bfe619dd77a6e9c2450bde451c)
Store the base64 release key in the OTA zips

This can be directly grepped in pre-existing package.xml tables
to make sure we're not trying to update to a differently signed
build

Change-Id: I7528a8e7c484ea9209cd665b9263328ae834586a
(cherry picked from commit 389c621d595c820aa56ff8452e78cd4804d247a3)
releasetools: Properly handle boot images that use dt

Instead of using a prebuilt boot/recovery image, bring the dt image
into the target files package and use it during package creation

Change-Id: I70ecf74423aad95a3eb8e085029c37450ae354a2
(cherry picked from commit b8ae759ce49c8b927f2f6208538fb00951f02a96)
releasetools: Fix whitespace error for INSTALLED_DTIMAGE_TARGET

Copy/paste produced spaces instead of a tab; fix that

Change-Id: I937e5f6ffd2c947c77dc4baa7427b170c1ea4bcd
(cherry picked from commit 955d61ba00f3021d31a201107e9de1f416fe7d47)
build: use /usr/bin/env to call python

Hardcoding the path to python instead of env is not recommended.  This
can break the build in some Linux environments that link /usr/bin/python
to python3.

Change-Id: I4c62eb391acc6d468ce24ac8640834e965e76e78
(cherry picked from commit adf86225bdbf763f85d5fd162270f3ff11fe75b4)
releasetools: bring back boot.img handling

This is required for galaxysmtd and other devices with custom
boot format.

This partially reverts "releasetools: Properly handle boot images that use dt"

Change-Id: Ib35001c2d9b906067e5a3c84712dc3a283a38cbb
(cherry picked from commit 0b34286101144ab97302e345fd81dda445824c89)