Add build error handling.

Allow TF to distinguish between a invocation failure due to an environment
issue, vs an invocation failure due to a bad build that won't boot, etc

Also add a callback so a IBuildProvider can handle a build invocation that
failed due to an environment issue.

Bug 2848009

Change-Id: I61b4c5fa1f83a5eb087abb690eb65755d22be61e
10 files changed