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.
Actually the use of `GIT_EUNMERGED` also matches the behavior you described: no conflicts are created and then the function fails mid-course. The index and workdir are left untouched. It fails during preflight in a way.

I can change the description to "...there are [potential] conflicts...", but again I'm just passing through the error from the lower-level API. Let me know.