git-isvn: Add multi-threaded commit w/ libgit2 ephemoral indices.

Initially, I misread the git_index_open() documentation to indicate that
secondary indices were basically useless. After reading the libgit2
source, I realized I was mistaken. This creates secondary indices under
the .git/isvn/ directory. Inactive ones are reclaimed with an LRU, and
they are cleaned up and deleted at exit.

Commit threads cannot work-steal and own branches via a static hashing
scheme, so work distribution may be uneven. Still, it's better than
nothing.