fix(cros-kernel2.eclass): Move kernel defconfig along side ebuilds

This makes it possible to have multiple kernel ebuilds in the tree at
once since the defconfig can be versioned along side the ebuilds instead
of being global.
fix(sys-kernel/coreos-kernel): Disable example modules and kgdb.

Just a little cleanup, no need for either of these.
fix(cros-kernel2.eclass): Remove a massive amount of dead code.

We do not currently support or care about things like arm, device trees,
smatch, and other things that massively complicate this eclass. Remove
them so making further changes is simple. Features can always be added
back later.
fix(cros-kernel2.eclass): Drop the kernel_, just source. It's cleaner.

The use flag kernel_sources conflicts with the special meaning of the
use flag prefix kernel_ which is reserved for defining the host kernel,
for example kernel_linux. Also a couple other ebuilds in Gentoo have a
source use flag so let's just follow that pattern instead.
fix(cros-kernel2.eclass): Don't install invalid source/build symlinks.

If the kernel sources aren't installed there is no point to installing
these symlinks.
fix(cros-kernel2.eclass): Add kernel modules to initramfs.

Since we need to both bundle modules into the initramfs as well as
bundle the initramfs into the kernel image we need to update a pre-built
image with the user space tools as part of the kernel build process.

This seemed the best scheme, the alternatives were:
 - Unpack bootengine.cpio to a temporary directory, build and install
   kernel modules into that temporary directory, pass that directory
   plus a config file listing what device nodes to the kernel build.
 - Build kernel modules and generate a fresh bootengine.cpio using the
   update-bootengine tool. This would require calling sudo (and breaking
   out of the sandbox in the process) in the middle of the ebuild.
fix(cros-kernel2.eclass): Install vmlinux into same path as modules

This matches the behavior of Debian/Fedora closer so might as well
change it while I'm mucking around in this eclass.
fix(cros-kernel2.eclass): Explicitly build bzImage in second pass

Build only bzImage instead of the default 'all' which also will re-link
all of the modules which is pointless and just causes the initramfs and
rootfs to become out of sync.
fix(cros-kernel2.eclass): Disable OUTOFTREE_BUILD when src is dirty.

If OUTOFTREE_BUILD=1 (currently disabled but that will change) the
kernel will use the existing checkout as the source tree rather than
cloning another tree. If someone built anything in that tree and .config
exists the build will fail complaining that the source isn't clean.
Instead of failing just disable OUTOFTREE and emit a warning.

OUTOFTREE combined with INCREMENTAL makes successive kernel builds
pretty much no-ops (just re-linking modules and bzImage).
fix(cros-kernel2.eclass): Fix STRIP_MASK and disable binchecks

STRIP_MASK wasn't updated to the new vmlinux location earlier.
RESTRICT=binchecks disables checks that only make sense for user space
binaries. This silences a bogus scanelf error.
bump(sys-kernel/coreos-kernel): New modular kernel.

Lots of changes here, some things of note:
 - Switch from built-in to modules for much of the kernel.
 - Enable more features, mostly in power management and networking.
 - Remove no_firmware.patch, this was added back when we had two
   different kernels which would conflict if both installed firmware.
 - Stop disabling OUTOFTREE_BUILD now that we don't patch the source.

So far this is just compile tested so it is marked ~amd64 for now.
fix(cros-kernel2.eclass): Move build deps from ebuilds to eclass.
Merge pull request #255 from marineam/modules

Modules