Improved treemachine setup; use md5 to decide whether to re-fetch, and commit id to decide whether to recompile