Build dirs need to exists before we can do much of our work. Before we "solved" this with
a bunch of mkdir calls. @filberg pointed out that we can do order only pre-reqs, so this
commit implements them across the codebase
This uncovered a second issue; when we pull down the kernel sources they keep the timestamp
from the server. Added --no-use-server-timestamps to stop this from causing useless rebuilds.
finally this commit pulls the downloaded kernel sources out of the tree and into their proper
spot in the build dir