Add tempfile/tempdir macros

Add tests
Add fn to check if a file needs to be updated.

Add tests

tardis-clj.storage uses fns from tardis-clj.tree. This hints at the need
for a refactor.
Only restore files that need to be restored
Tidy up comments that will be type annotations

Also remove a commented out stack trace print
Remove skeleton failing test