With this changeset one can build a kernel module out-of-tree in a dev
image in the usual fashion:
```
~# cat Makefile
obj-m := noop.o
~# make -C /lib/modules/4.3.0-coreos-r1/build M=$PWD
make: Entering directory '/usr/lib64/modules/4.3.0-coreos-r1/build'
CC [M] /tmp/noop/noop.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/noop/noop.mod.o
LD [M] /tmp/noop/noop.ko
make: Leaving directory '/usr/lib64/modules/4.3.0-coreos-r1/build'
~#
```
/lib/modules/$(uname -r)/source is now populated with a stripped source
tree (headers, scripts, Makefiles...), prod images may build out-of-tree
modules by simply bind mounting these directories into a toolchain
container without needing kernel source.
Note that this build directory is being populated from the _actual_
$KBUILD_OUTPUT used in producing the kernel in the image, which has simply
been `make clean`ed and stripped down:
```
/lib/modules/4.3.0-coreos-r1/build# ls -la
drwxr-xr-x 5 root root 4096 Nov 25 11:56 .
drwxr-xr-x 4 root root 4096 Nov 25 11:56 ..
-rw-r--r-- 1 root root 108265 Nov 25 11:52 .config
-rw-r--r-- 1 root root 2 Nov 25 11:55 .version
-rw-r--r-- 1 root root 578 Nov 25 11:54 Makefile
-rw-r--r-- 1 root root 617170 Nov 25 11:55 Module.symvers
drwxr-xr-x 3 root root 4096 Nov 25 11:23 arch
-rw-r--r-- 1 root root 23280 Nov 25 11:52 defconfig
drwxr-xr-x 4 root root 4096 Nov 25 11:23 include
drwxr-xr-x 6 root root 4096 Nov 25 11:56 scripts
lrwxrwxrwx 1 root root 9 Nov 25 11:56 source -> ../source
/lib/modules/4.3.0-coreos-r1/build#
```
The generation of version.txt was the only thing depending on sourcing
the deprecated BUILD, BRANCH, and PATCH values from version.txt which
common.sh no longer does since 0b6acf86. Derive them instead.
The path of $GNUPGHOME outside the chroot may not really make sense
inside the chroot. Although that's probably not a big deal there's no
need to keep the outside value. Instead just bind it to the usual spot.
When running under jenkins the $GNUPGHOME may be located under the
current build directory instead of $HOME to avoid conflicting with other
jobs on the same build host.
Rather than building the initramfs in the postinst of bootengine, this
moves it to the setup of coreos-kernel. This has the advantage of
failing a build if dracut fails and ensuring that the latest initramfs
makes it into every kernel build.