linux/manual-config: ignore nulls.

There's no need to set the postFixup env var at all if we're not modular.
linux/manual-config: Move configfile symlinking to configurePhase.

It makes more semantic sense there than in unpackPhase, as that symlink is _how_ we configure the kernel
stdenv.mkDerivation: Add meta and passthru to all outputs.

Before, only the first output (and not even that when accessed through 'all' or its corresponding attribtue) had meta information and the relevant passthru attributes.

This doesn't change stdenv's hash and the tarball still builds, I'm pretty sure this is safe for master.
Remove duplication in linuxPackagesFor

It's silly to pass in self when we can do let self = whatever; in self.
linux/manual-config: put build and source trees into a separate 'dev' output.

This makes it possible to still build out-of-tree modules without making a system using this kernel depend on the full source and build tree at runtime.

Note that references to the source tree are removed from kernel modules after build.
Ideally, this would be accomplished by modifying the Makefile that puts the reference there in the first place, but I haven't tracked that down yet.
Merge branch 'manual-config-multiple-outputs' into upstream-master

This branch makes the manual config kernel a lot more space efficient by separating out the build and source trees (needed for out-of-tree modules) from the actual bzImage and in-tree modules.

Also some other small improvements along the way.