RFC: status access by index, providing more details to callers

So this is in response to some of the discussion from https://github.com/libgit2/libgit2/pull/1542 wherein we decided that perhaps an iterator pattern was a wee bit restrictive.  (Providing access to old name / new name, old mode / new mode, etc, etc in a `_next` call are getting sort of crazy!)

This is a complete 180 and allows callers full introspection of the `git_diff_delta` backing their status call.  This does the status computation up-front and creates an array of status entries.

Thoughts?