Remove the refs/notes/commits that we push in test

The online::push::notes test pushes a note but leaves it hanging
around for other tests to stumble across when they're validating
that they're seeing the refs they expect to see.  Clean it up on
exit.
online::clone::credentials support default credentials
Perform HTTP keep-alive
Introduce git_buf_decode_base64

Decode base64-encoded text into a git_buf
Add GSSAPI support for SPNEGO/Kerberos auth over HTTP