Merge pull request #1071 from arrbee/alternate-fix-strcmp

Win32 fixes for diff/checkout/reset
odb: recursively load alternates

The maximum depth is 5, like in git
Merge pull request #1075 from carlosmn/alternates-recurse

odb: recursively load alternates
Fix MSVC compilation warnings
tag: rename git_tag_type to git_tag_target_type
env: ensure git_futils_find_xxx() returns ENOTFOUND
repo: readonly tests don't need a sandboxed repo
tests: introduce cl_git_remove_placeholders()
repo: ensure is_empty() checks there are no refs
config: Make git_config_file__ondisk() internal
config: Opening a nonexistent file returns ENOTFOUND
reflog: Fix documentation
reflog: make entry_byindex() and drop() git compliant

Passing 0 as the index now retrieves the most recent entry instead
of the oldest one.
Merge pull request #1077 from nulltoken/fix/api

Itsy bitsy tiny winy minor api related fixes
Fix a couple of warnings
Indexer: Avoid a possible double-deletion in error case
Merge pull request #1082 from scunz/fixDoubleDeleteOnError

Indexer: Avoid a possible double-deletion in error case
Prevent creating `..`, `.`, and `.git` with tree builder

As per core git.
Catch invalid filenames in append_entry()

This prevents the index api from calling write_tree() with a
bogus tree.
Add a test for invalid filenames while writing tree from index