Fix GIT_MERGE_OPTS_INIT on MSVC.
Close files on file diff failure

Not closing the files on a diff failure ensures that clar
cleanup will fail on win32 because we still have the file open.
Tests for core.autocrlf and .gitattributes
Tests for crlf filtering into the repository
core.autocrlf=input w/ text=auto attr to workdir
refs: conditional wording fixups

This addresses arrbee's concerns about wording in the conditional
reference udpate functions.
refs: move current_id before the reflog parameters

Keep the reflog parameters as the last two, as they're the optional
parameters.
Merge pull request #2111 from libgit2/cmn/cond-fixups

Conditional ref update fixups
Merge pull request #2110 from libgit2/ed/crlf_input

Handle `core.autocrlf=input` when checking out
Never convert CRLF->LF

Core git performs no conversion on systems that use LF, emulate that.
Merge pull request #2114 from ethomson/crlf_redux

Never convert CRLF->LF
Fix filter test for CRLF->LF issues
Merge pull request #2115 from ethomson/crlf_redux

Fix filter test for CRLF->LF issues
Check for EWOULDBLOCK as well as EAGAIN on write.

On some systems, notably HP PA-RISC systems running Linux or HP-UX,
EWOULDBLOCK and EAGAIN are not the same value.  POSIX (and these OSes) allow
EWOULDBLOCK to occur on write(2) (and send(2), etc.), so check explicitly
for this case as well as EAGAIN by defining and using a macro GIT_ISBLOCKED
that considers both.

The macro is necessary because MSYS does not provide EWOULDBLOCK and
compilation fails if an attempt is made to use it unconditionally.  On most
systems, where the two values are the same, the compiler will simply
optimize this check out and it will have no effect.
Merge pull request #2121 from bk2204/ewouldblock

Check for EWOULDBLOCK as well as EAGAIN on write.
Improve error propagation in shallow call
Readability
Merge pull request #2124 from libgit2/better-shallow-errors

Improve error propagation in shallow call
Make git_oid_equal a non-inline API
Clarify C compatibility policy

and a couple of other minor doc fixups.