Added git_stash_apply() and git_stash_pop() APIs

This is a tentative implementation of git_stash_apply() based on the actual Git implementation found at https://github.com/git/git/blob/master/git-stash.sh#L440.

Once you have git_stash_apply(), it's trivial to implement git_stash_pop() so I also added it.
`git_checkout_index` should take care of this case for you, if you give it the updated index, it will only update the changed entries (and thus preserve the stat data for those unchanged.)