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.
Generally we use `GIT_EUNMERGED` to reflect that there are unmerged changes in the index when you *begin* the operation.  I don't think we use `EUNMERGED` to indicate that we created conflicts and failed.

For example, now I have a conflict on file `bar`, and I am trying to unstash a stash that changes `bar`:

    % git stash pop
    bar: needs merge
    unable to refresh index

This is the case that I would expect to see `GIT_EUNMERGED`.