Improved Index and TemporaryIndex initialization
Index now takes responsibility (instead of Repository) for interpreting
GIT_INDEX_FILE and knowing the default index file name ('index').
The new TemporaryIndex class implements the context manager protocol such
that it can auto-delete its temporary index file when leaving a context.
Also, temporary indexes now use a monotonic timestamp instead of a Python
object id to name the temporary index file. This is possibly more robust
against an object address being reused as well as avoiding leaking a memory
address to the outside world.
Signed-off-by: Peter Grayson <pete@jpgrayson.net>