describe: Do not crash if pass null option to git_describe_commit()
describe: Initialize options for git_describe_format() if null
p_lstat win32: don't canonicalize volume mounts

A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be
a junction or an actual filesystem mount point.  (Who knew?)
If it's the latter, its reparse point will report the actual
volume information \??\Volume{GUID}\ and we should not attempt
to dereference that further, instead readlink should report
EINVAL since it's not a symlink / junction and its original
path was canonical.

Yes, really.
is_empty_dir (wi32): cope with empty mount points

FindFirstFile will fail with INVALID_HANDLE_VALUE if there are no
children to the given path, which can happen if the given path is a
file (and obviously has no children) or if the given path is an empty
mount point.  (Most directories have at least directory entries '.'
and '..', but ridiculously another volume mounted in another drive
letter's path space do not, and thus have nothing to enumerate.)

If FindFirstFile fails, check if this is a directory-like thing
(a mount point).
Introduce failing test for conflict filtering in index
Ensure filters (i.e. CRLF) are applied when checking out conflict content
Don't copy buffer in checkout unless needed
Merge pull request #2616 from ethomson/index_crlf

Apply filters when writing index
Merge pull request #2615 from ethomson/mount_points

Mount points
Merge pull request #2609 from linquize/describe-opts

Handle describe options better