core/image_build.py: Adjust the target cache; move image building

CreateTargetCache also creates some metadata used during the image
build.  With the current structure of the target cache, there is no
reserved path to place generate files without the risk of a product
specification conflict (even if unlikely).  This change prefixes all
user artifacts with root/.

As part of this change, BuildImage no longer uses a temporary
directory.  Instead, all data is staged in the target cache to save
on copies and allow copy_newer_only to be used.  Users have
visibility into where the BDK cache dir is, so clean up should also
be straightforward when needed.

TEST=test_runner.py fixed up and passing; Image building works as expected.
     Additionally, because the sysroot itself isn't moved, file clean up
     doesn't touch the files outside of the cache.
BUG=27945625

Change-Id: I320e12b05e30122c09242d06d34850e4c5003697
5 files changed