Add post rule test, and open method for convienance.
Fix changed files tests to allow mtime detection to actually work.

Essentially, if you change a file in the same time as the last change,
it will be hard to check via modification time.  This causes troubles
in tests if they run fast.
Always record full path when recording target dependencies.
Remove visitor interface, in favor of having install iterate targets.

This prevents building "dead" files (files that are not dependencies
and do not match manifest)
Fix post test rules.  It's selective after all.
Seperate built files into normal build and post-processing build directories.
In CatFile rule, let staticky core deal with relative paths.
Fix relative path handling in staticky core (paths need to be normalized)