Improve errors for env interpolation failures.
Fix state saving bug affecting aborted builds.

If a build exited early because of a build error of user interruption node
state would be saved as all zeroes for nodes that had not yet been visited
in the DAG. On subsequent builds, they would all rebuild.

This change makes it so that they retain their earlier build state instead of
throwing it away.
Add option to log hash blocks as signatures are computed.

Useful to track down build state bugs.