We now load Commits from the leaves of branches in the refs file rather than relying on user input.  Added more interfaces (lolclassspam) and fixed up Commit's resave.

As the rest of Tree and Blob get implemented the files should make more sense and we can do real save tests!