Support precious output files.

Tagging a node to have precious output files means that they are not
deleted when a build fails. This is useful for incremental linking.