linux: Fix running lib.overrideDerivation on the kernel

When we ran lib.overrideDerivation on the kernel derivation to override the way
it's built, it wouldn't keep the 'features' attribute, so the modified kernel
wouldn't work on NixOS because there are other expressions that look into that
attribute.

We fix this by adding the 'features' attr to the 'passthru' attr. When
lib.overrideDerivation gets called on a derivation, the attributes in 'passthru'
automatically get added to the new (returned) derivation. This way 'features'
will also be available on overriden derivations.