Structure to store extra details of the last error that occurred.
This is kept on a per-thread basis if GIT_THREADS was defined when the library was build, otherwise one is kept globally for the library