We don't use intermediate objects or bytecode files
Be more explicit on how to treat sections
We actually do need clang as an intermediate

This allows us to avoid the rust stack-checking prologue,
which doesn't work without TLS at fs.
amd64: longmode: Add trampoline, gs, and stack setup
kernel.ld: .init section is not necessary
asm/linker.inc: Update variables to match kernel.ld
asm/memmap.inc: Fill out additional data structures

Also, provide reference to their sources
Now we have functioning Rust support
Makefile: Minor fixups