kernel ELF: Map PIE binaries at non-zero or specified address
From FreeBSD:
svn 197933 (10 OCT 2009)
svn 197934 (10 OCT 2009)
svn 198202 (18 OCT 2009)
By default, map PIE binaries to a non-zero address. The specified
default address was determined by FreeBSD by examining ld to see where
non-relocable binaries get put normally.
The binary relocation will not happen if the ET_DYN binary already has
a non-zero base address specified.
Also cleaned up some whitespace issues, and took some alignment checks
from FreeBSD.