The index is now a central part of the system, as it should. We store
articles just like git stores its objects, in a two-tier directory.
For example, article whose message id hashes to deadbeef is stored at
index/de/ad/deadbeef. Articles in groups are now hardlinked to the
index, the main repository of articles.
Group's article names are now cached in groups/<g>/.meta/. The meta
information is incrementally augmented every time it's necessary.
Commands LIST and GROUP are now served at constant time.
Other little fixes were done a long the way.