Add rudimentary support for git_status

Adds in all of the structs necessary for interacting with git status entries,
Adds a Repository::statuses method to return a list of RepoStatus objects.
I think this is supposed to be an opaque structure, so we shouldn't have to have the definition on our end (same with `git_vector`)