Allow creation of directories under the volume root in Win32

We ran into an issue where cloning a repository to a folder
directly underneath the root of a volume (e.g. 'd:\libgit2')
would fail with an access denied error. This was traced down
to a call to make a directory that is the root (e.g. 'd:') could
return an error indicated access denied instead of an error
indicating the path already exists. This change now handles
the access denied error on Win32 and checks for the existence
of the folder.
Merge pull request #1633 from jamill/directory_create_fix

Allow creation of directories under the volume root in Win32
Ensure git_futils_mkdir won't mkdir root

This makes sure that git_futils_mkdir always skips over the root
directory at a minimum, even on platforms where the root is not
simply '/'.  Also, this removes the GIT_WIN32 ifdef in favor of
making EACCES as a potentially recoverable error on all platforms.
Merge pull request #1634 from arrbee/alternative-mkdir-fix

Ensure git_futils_mkdir won't mkdir root
I'm a dick
Simplify git_futils_mkdir

This routine was (is) pretty complicated, but given the recent
changes, it seemed like it could be simplified a bit.
Make mkdir early exit cases clearer

There are two places where git_futils_mkdir should exit early or
at least do less.  The first is when using GIT_MKDIR_SKIP_LAST
and having that flag leave no directory left to create; it was
being handled previously, but the behavior was subtle.  Now I put
in a clear explicit check that exits early in that case.

The second is when there is no directory to create, but there is
a valid path that should be verified.  I shifted the logic a bit
so we'll be better about not entering the loop than that happens.
Merge pull request #1635 from arrbee/simplify-mkdir

Simplify git_futils_mkdir