MakeMaker.pm: use EU::MakeMaker custom postamble to build libgit2
xs: update libgit2
Remote.xs: rename add method to create, remove new method
{Repository,Tree}.xs: update git_diff_* functions names
Repository.xs: update the clone method to take a generic %opts parameter
Repository.xs: update checkout to take a generic %opts parameter + test
Repository.pm: add docs for checkout strategies
TODO: update
Repository.xs: fix warning
Changes: update
Repository.xs: re-add support for cred_acquire in clone()
xs: clean-up
xs: fix SvPVbyte calls
xs: update libgit2
Changes: update
v0.19

 - Fix errors in the Push and Repository examples (no functional changes)
 - Reference -> target() does not need a Repository argument anymore (its
   documentation was also incorrect) (thanks, @ruz!)
 - Repository -> head() now returns a Reference like the underlying libgit2 API
   instead of a Commit (incompatible change) (thanks, @ruz!)
 - Update libgit2 to 07871d3
    + Rename Remote -> add() method to Remote -> create() and remove
      Remote -> new() (incompatible changes)
    + Update Repository -> clone() to take an URL again (instead of a remote)
      and a generic %opts parameter (incompatible changes)
 - Update Repository -> checkout() to take a generic %opts parameter and improve
   its documentation (incompatible change)
Branch.pm: fix synopsis
Raw.pm: add note about API instability
Reference.pm: document $repo parameter for lookup()

This fixes #5.
Push.pm: fix SYNOPSIS example