introduce new geogit::repository

used for adding and commiting to the geogit repo
refactor geogit add_and_commit to use new repository class