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.
If you read the whole implementation of `git stash apply`, it's pretty simple and straightforward, except you need to do this "correction" at the end (unless reinstating the index). Maybe whoever wrote this still figured out it would still be less and simpler code than trying to never stage the files in the first place.