test that suggests tags arent fully peeled during push
push: handle tag chains correctly

When dealing with a chain of tags, we need to enqueue each of them
individually, which means we can't use `git_tag_peel` as that jumps
over the intermediate tags.

Do the peeling manually so we can look at each object and take the
appropriate action.
Give credit to PHP for the p_readlink function in posix_w32.c
Merge pull request #1789 from martinwoodward/posix_win32-attribution

Give credit to PHP for the p_readlink function in posix_w32.c
Add new git_signature_default API using config

This adds a new API for creating a signature that uses the
config to look up "user.name" and "user.email".
New test that inits repo and make commit
Add example like "git init"
Improve isolation of new test from user environs
Merge pull request #1790 from libgit2/examples-init

Add "git init"-like example
Merge pull request #1778 from libgit2/push_tag_to_tag_test

push: handle tag chains correctly