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