Reference.xs: Return undef if the reference cannot be found

* Also try a little bit harder to find the reference (dwim)
travis.yml: set git user and email
Changes: update
Reflog.xs: Make a reflog entry a first-class citizen
Changes: update
Repository.xs: Added detach_head()

* head() and detach_head() now take an optional reflog message to be used
02-commit.t: Added tests for detach_head()
Changes: update
Documentation formatting fixes
v0.43

 - Added Index methods:
    + find
 - Branch -> upstream() can now set/clear the upstream reference (GH#115)
 - Reference -> lookup() used to consider a missing reference as an error.
    It now returns undef instead of die'ing. (Incompatible change) (GH#116)
 - Reference -> lookup() now tries harder to find a reference (GH#116)
 - Reflog -> entries() now return real objects (Incompatible change) (GH#117)
 - Added Repository methods (GH#118):
    + detach_head
 - Repository -> head() now accepts an optional message parameter (GH#118)
Documentation fixes
Use File::Slurp::Tiny
16-reflog.t: Allow for some time drift
Merge commit 'd99d30e4ed1c97b10a2e8dcda8d2c92c5c109135' into jacquesg/update-libgit2
Squashed 'deps/libgit2/' changes from 8f759ac..fa44a16

fa44a16 Merge pull request #2521 from jacquesg/remote-ls-not-connected
dc8adda git_remote_ls() should return an error if the transport is not available
e1c4429 Merge pull request #2497 from ethomson/kerberos3
23135af Introduce proper http authentication API
315cb38 Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
e003f83 Introduce git_buf_decode_base64
4086726 Perform HTTP keep-alive
adcdeb3 online::clone::credentials support default credentials
f96e7e6 Free references during push validation
0f29e96 Remove the refs/notes/commits that we push in test
aea6763 Don't run the ssh clone tests against http remotes
fb48a51 Merge pull request #2469 from ethomson/transport2
c180c06 Custom transport: minor cleanups
49d5ec7 Merge pull request #2517 from ethomson/no_win_unreadable
c840233 Don't include the unreadable tests on win32
0707fee Merge pull request #2513 from ethomson/giterr_null_msg
e62f96d Allow NULL error message prefix when class=GITERR_OS
59403f1 Merge pull request #2509 from libgit2/cmn/immediate-multiline
9dac1f9 config: a multiline var can start immediately
bb9e602 Merge pull request #2507 from libgit2/rb/timer-typo
35f186b Merge pull request #2506 from libgit2/rb/ignore-pipes-etc
f18234f Don't report status on named pipes
3822d2c Fix typo in timer normalization constants

git-subtree-dir: deps/libgit2
git-subtree-split: fa44a1699ccd70725b236868ef4be5cac8c36267
Remote.xs: Added default_branch()
Changes: update
Documentation fixes
Stash.xs: Return undef if nothing was stashed
Changes: update