Update to libgit2 master

The option to ignore the server's certificate has been removed, replaced
witha  callback for the user to perform their own checking.

Remote.Fetch() now performs opportunistic updates and takes a list of
refspecs to use as the active set for a particular fetch.
add plumbing for update fetch head on remotes
Merge branch 'fetchhead'

Conflicts:
	remote.go
Add support for hostkey certificates

While they're not exactly certificates, they belong in the same
category.
Add a test for blobs

This has been in my worktree unadded for a while.
Fix header name

It turns out that some systems have a strings.h which includes string.h,
which does not happen on GNU systems.
remote: use the library's certificate validity if no callback is set

We should not return 0, as in this case that means we let it through,
return an appropriate error instead.
Use Filemode type in TreeEntry and IndexEntry

Fixes #121
Update to latest master
Merge pull request #123 from ry/master

Use Filemode type in TreeEntry and IndexEntry
implemented Index.AddAll, Index.RemoveAll, Index.UpdateAll
Remove Config#Refresh

Because it has been removed from libgit2:
https://github.com/libgit2/libgit2/commit/55cb4999720f46eddb97e25e7ddc6ac068dd0bae
Add Remote#Ls.

Allow filtering heads by name.
Update libgit2 submodule.
Merge pull request #128 from calavera/remote_git_config_refresh_call

Remove Config#Refresh
Merge pull request #125 from lucas-clemente/master

implemented Index.AddAll as git_index_add_all wrapper
Merge branch 'master' into ls_remote

* master:
  Update libgit2 submodule.
  Remove Config#Refresh
  implemented Index.AddAll, Index.RemoveAll, Index.UpdateAll
Add connect methods to Remote.
Make filtering logic more simple.
Hide C.git_direction type.