Still lots more docs to write and API to cleanup, but this is better.
It's just less tedious, and we're GCC/LLVM specific anyways.
Having the archived vs not distinction in the object system wasn't useful in light of pack files. In fact, we should probably move towards generating a pack file per commit by default.