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
Merge pull request #1084 from libgit2/filename-validation

Filename validation
Don't use precompiled headers for command-line based VC builds.

The reason, why libgit2 currently cannot support compiling via the command-line
tools cl/nmake from WinSDK and/or Microsoft Visual Studio, seems to be a
missing dependency on the generated precompiled header file.

The Visual Studio IDE automatically inserts this dependency when it sees the
right combination of "/Y" parameters.

This patch allows to compile using command line tools by disabling precompiled
headers for NON-IDE builds.