Add Holger Weiss to hall of fame

Permission obtained from Holger Weiss to include all of his contributions to Git into LibGit2. See https://github.com/git/git/commit/21e403a7b956a95a36f218439f82b1c8af869257
Add Dmitry Kakurin to hall of fame

See lines 59-60 from https://github.com/libgit2/libgit2/blob/44b1ff4c1209c34360cc0c43761c40f5f5020886/src/filter.c which contain a couple of lines of code to ignore an EOF at the end of a file when detecting if it is a text file or not. These came from this contribution that Dmitry made to core Git back in 2008 (https://github.com/git/git/commit/f9dd4bf4e58af0b4828c7e7013080dba59f8a6b9) which was committed by Junio.

Dmitry gave his permission for these changes to be included in LibGit2 as well via email to vmg and myself
Add new email address for Nicolas Pitre

See https://github.com/git/git/commit/03aa8ff3be3b35522b2e378651e65e0e86778018, Nicolas Pitre's email address has changed to nico@fluxnic.net
Minor optimization to tree entry validity check

This checks for a leading '.' before looking for the invalid
tree entry names.  Even on pretty high levels of optimization,
this seems to make a measurable improvement.

I accidentally used && in the check initially instead of || and
while debugging ended up improving the error reporting of issues
with adding tree entries.  I thought I'd leave those changes, too.
Set up default internal ignores

This adds "." ".." and ".git" to the internal ignores list by
default - asking about paths with these files will always say
that they are ignored.
Improve iterator ignoring .git file

The workdir iterator has always tried to ignore .git files, but
it turns out there were some bugs.  This makes it more robust at
ignoring .git files.

This also makes iterators always check ".git" case insensitively
regardless of the properties of the system.  This will make libgit2
skip ".GIT" and the like.  This is different from core git, but on
systems with case insensitive but case preserving file systems,
allowing ".GIT" to be added is problematic.
Add contributing guidelines
Markdownize CONVENTIONS
Rewrite conventions to be more complete
Merge pull request #1095 from martinwoodward/authors

Update to Authors
Call git_remote_update_tips before git_remote_disconnect
test: Minor fixes
repo: Make git_repository_head_tree() return error codes
Reset all static variables to NULL in clar's __cleanup

Without this change, any failed assertion in the second (or a later) test
inside a test suite has a chance of double deleting memory, resulting in
a heap corruption. See #1096 for details.

This leaves alone the test cases where we "just" use cl_git_sandbox_init()
and cl_git_sandbox_cleanup(). These methods already take good care to not
double delete a repository.

Fixes #1096
Remove use of English expletives
Remove words such as fuck, crap, shit etc.
Remove other potentially offensive words from comments.
Tidy up other geopolicital terms in comments.
Merge pull request #1100 from martinwoodward/fuckityfuck

Remove use of English expletives
Merge pull request #1098 from scunz/cleanup_in_cleanup

Reset all static variables to NULL in clar's __cleanup
Merge pull request #1093 from libgit2/contributing

Create contributing guidelines
Merge pull request #1097 from nulltoken/topic/head_tree_error

Make `git_repository_head_tree()` return error codes
Set p->mwf.fd to -1 on error

If p->mwf.fd is e.g. -2 then it is closed in packfile_free and an exception might be thrown.

Signed-off-by: Sven Strickroth <email@cs-ware.de>