[SPIKE] Detect and propagate file changes on rebuild.

This should make it possible to live-reload only changed output files.

Needs review + tests.

/cc @stefanpenner 
Is there a significant performance overhead in computing a hash of the entire output directory on every build?