ignore: enhance git_ignore_path_is_ignored() test coverage
stash: Refactor stash::drop tests
stash: Update the reference when dropping the topmost stash
branch: Make git_branch_remote_name() cope with orphaned heads
branch: refactor git_branch_remote_name() tests
Merge pull request #1354 from nulltoken/fix/stash-drop

Fix git_stash_drop()
Merge pull request #1343 from nulltoken/topic/remote_orphaned_branch

Teach git_branch_remote_name() to work with orphaned heads
Rename 'exp' so it doesn't conflict with exp()
Do not fail if .gitignore is directory

This is designed to fix libgit2sharp #350 where if .gitignore is
a directory we abort all operations that process ignores instead
of just skipping it as core git does.

Also added test that fails without this change and passes with it.
Merge pull request #1356 from arrbee/fix-directory-as-ignore-file

Do not fail if .gitignore is directory